硬盘安装LiveCD:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Xiaodan留言 | 贡献
 
(未显示23个用户的50个中间版本)
第1行: 第1行:
== 如何硬盘安装LiveCD?  ==
{{Template:系统安装导航}}
== 前言 ==
更新的说明:--[[User:Xiaodan|Xiaodan]] 2016年1月8日 (五) 18:42 (CST)


本文作者:[http://blog.chinaunix.net/u2/62652 dogfox] ([email protected])
本文主要适用于'''Linux'''下本地安装Ubuntu系统,其原理也可借鉴于其他linux操作系统。
同时,本文主要讨论BIOS下的安装,EFI请直接查看“EFI”一节。


授权许可:
如果您不知道您的PC适用于哪一类,建议优先尝试BIOS引导下的操作,或求助他人。
 
== 设置iso文件  ==
*[http://creativecommons.org/licenses/by-sa/2.0/ 创作共享协议Attribution-ShareAlike 2.0]
说明:以下内容均为假设情况,在实际操作中需要灵活掌握
*[http://www.gnu.org/copyleft/fdl.html GNU自由文档许可证]
假如我们把iso文件放在挂载磁盘下进行安装 ,挂载磁盘的位置为/media/disk/,其中/media/disk/的分区格式为vfat,也即FAT32 .其中/media/disk/的具体情况视各自具体情况而定.一个重要的前提是必须保证该挂载磁盘被fstab有效挂载
接下来我们要把该iso和其中的.disk和casper下的vmlinuz和initrd.lz释放出来,保存至/media/disk/
在转移到/media/disk/下前请检查下/media/disk/的剩馀空间,剩馀空间至少要有750M。如果剩馀空间不多可考虑删除多余的文件。
首先将iso文件转移到/media/disk/下,进入存放iso文件的目录下
<pre>sudo mv *.iso /media/disk/</pre>
然后挂载iso,并拷贝到 /media/disk/
sudo mkdir /mnt/live&nbsp;;
cd /media/disk&nbsp;;
sudo mount -t iso9660 -o loop,utf8 *.iso /mnt/live/&nbsp;;
sudo cp -r /mnt/live/.disk  /media/disk/&nbsp;;
sudo cp /mnt/live/casper/vmlinuz  /media/disk/&nbsp;;
sudo cp /mnt/live/casper/initrd.lz  /media/disk/


编辑人员:
请注意,较新版本的ubuntu安装文件中,vmlinuz更名为vmlinuz.efi,用于efi启动模式,具体见'''EFI'''。
需要将该文件重命名,去掉efi后缀。
<pre> mv /media/disk/vmlinuz.efi /media/disk/vmlinuz </pre>


校对人员:
如果什么重要的文件请在系统重启前及时备份。


适用版本:Ubuntu或其他linux发行版的用户
== 设置启动项(镜像、.disk、vmlinuz和initrd.lz 四个文件都在u盘等设备上时)  ==


文章状态:现已完善
===grub(类似CentOS和ubuntu旧版本)===


参考文献: [http://www.linuxsir.org/main/?q=node/127 存储设备表示方法]
可以先
<pre>
locate menu.lst
</pre>
找出该文件的位置,之后进行修改


测试环境:Ubuntu gutsy gnome
请灵活更改以下代码。


== 什么是LiveCD?  ==
注意,root (hd1,0)请根据自己的实际情况设置(应该为电脑的另一块硬盘或者U盘)。
另外,早期版本的Ubuntu为initrd.gz,新版本的Ubuntu为initrd.lz(本人非计算机专业,估计应该是内核相关的文件)
<pre>
title Ubuntu x.xx LiveCD
root (hd1,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-x.xx-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.lz
boot
</pre>


[http://zh.wikipedia.org/w/index.php?title=LiveCD&variant=zh-cn 关于LiveCD]
===grub2===
在GRUB 1.98 Ubuntu10.04测试


== 硬件要求  ==
默认安装情况下打开grub2启动菜单的方法:


内存不小于328M
grub2启动菜单默认是隐藏的,除非您改动了/etc/default/grub中的设置。在开机启动时一直按Shift键,直到grub2启动菜单出现,这时候可以按上下方向键选择一个项目


分区不小于5G
在/etc/grub.d/40_custom(系统自带)中进行编辑,或者自行新建50_ubuntu进行编辑,应该注意的是,这些文件必须是可执行的,才能够由update-grub写入二进制文件,因此必须赋予可执行权限:


== 下载光盘文件  ==
<pre>
sudo chmod +x /etc/grub.d/40_custom
</pre>


使用axel或wget下载ubuntu8.04.1的LiveCD文件
在40_custom
<pre>wget -c http://tw.releases.ubuntu.com/hardy/ubuntu-8.04.1-desktop-i386.iso</pre>
<br> 验证
<pre>md5sum ubuntu-8.04.1-desktop-i386.iso
c69e34e92d5402d1b87e6babc739f774 *ubuntu-8.04.1-desktop-i386.iso</pre>
建议下载验证完成后备份该ISO文件到U盘或挂载磁盘上。


== 设置iso文件  ==
<pre>
#!/bin/sh
exec tail -n +3 $0
</pre>


说明:以下内容均为假设情况,在实际操作中需要灵活掌握
之后的位置添加代码,这里的ubuntu-10.04-desktop-i386.iso镜像文件是放在U盘(另外一块硬盘)的根目录下。


假如我们把iso文件放在挂载磁盘下进行安装 ,挂载磁盘的位置为/media/disk/,其中/media/disk/的分区格式为vfat,也即FAT32 .其中/media/disk/的具体情况视各自具体情况而定.一个重要的前提是必须保证该挂载磁盘被fstab有效挂载
<pre>
menuentry "Ubuntu 10.04 LiveCD" {
set root='(hd1,1)'
loopback loop (hd1,1)/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
boot
}
</pre>


接下来我们要把该iso和其中的.disk和casper下的vmlinuz和initrd.gz释放出来,保存至/media/disk/
其中,menuentry "xxx" { }为固定语法,必须要写。注意,{ }内的行与行之间不能有空行,必须是连续的。
loopback为grub2的新增功能,用于载入镜像文件。
grub2中,kernel命令已经被替换为linux;root已经被替换为set root hdx,x。


在转移到/media/disk/下前请检查下/media/disk/的剩馀空间,剩馀空间至少要有750M。如果剩馀空间不多可考虑删除多余的文件。
请注意,做出以上更改后,必须要执行grub-update,使更改写入启动文件。
<pre>
sudo update-grub
</pre>


首先将iso文件转移到/media/disk/下,进入存放iso文件的目录下
<!--这段文字是哪里来的?还没翻译啊
<pre>sudo mv *.iso /media/disk/</pre>  
意味着 sda3 under /ansi/software_and_config/ISOs/ubuntu/. In order to change it for your needs there are 3 elements to change. The loopback line contains your hard disk in grub style (hdx,y  x=0->sda x=1->sdb aso) and the path. The third element to change is in the linux line. Store this file as “50_ubuntu” in “/etc/grub.d“, make it executable with “chmod a+x 50_ubuntu” and activate the changes with “ubdate-grub“. A
然后挂载iso,并拷贝.disk、vmlinuz和initrd.gz 三个文件到 /media/disk/  
-->


sudo mkdir /mnt/live&nbsp;; cd /media/disk&nbsp;; sudo mount -tiso9660 -o loop,utf8 *.iso /mnt/live/&nbsp;; sudo cp -r /mnt/live/.disk  /media/disk/&nbsp;; sudo cp /mnt/live/casper/vmlinuz  /media/disk/&nbsp;; sudo cp /mnt/live/casper/initrd.gz  /media/disk/
=== EFI ===
1.按“设置iso文件”小节的说明拷贝文件。
2.重启,按下适当按键,进入efi模式。
3.选择vmlinuz.efi的路径,并启动。
4.安装,见“安装”小节。


如果什么重要的文件请在系统重启前及时备份。


== 设置启动项  ==
修改grub文件,使启动项指向该iso文件
<pre>sudo gedit /boot/grub/menu.lst</pre>
复制下面的部分到menu.lst文件
<pre>title Ubuntu 8.04.1 LiveCD
root (hd0,3)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-8.04.1-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.gz
boot</pre>
说明:第二行的root (hd0,3)部分依据你的具体情况而定
如果你的/media/disk/位置是 (hd0,1) ,那么你就应该设置为(hd0,1)
设置好后保存退出
多说一句,理论上来说把iso文件放在磁盘的任意位置(包括U盘)都是可以安装的,但是hd编号你必须要搞清楚,尽量让启动安装一次性成功。
== 如何确定ISO位置  ==
== 如何确定ISO位置  ==
grub和hd0,x是硬盘安装的关键问题,解决了这2个问题,硬盘安装Ubuntu操作系统就成功了一半!  
grub和hd0,x是硬盘安装的关键问题,解决了这2个问题,硬盘安装Ubuntu操作系统就成功了一半!  
使用fdisk查询本机硬盘分区状态,例如本人的:  
使用fdisk查询本机硬盘分区状态,例如本人的:  
<pre>sudo fdisk -l</pre>  
<pre>sudo fdisk -l</pre>  
第86行: 第111行:
Units = cylinders of 16065 * 512 = 8225280 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00019d35
Disk identifier: 0x00019d35
   Device Boot      Start        End      Blocks  Id  System
   Device Boot      Start        End      Blocks  Id  System
/dev/sda1              1          12      96358+  82  Linux swap / Solaris
/dev/sda1              1          12      96358+  82  Linux swap / Solaris
第93行: 第117行:
/dev/sda4            996        9729    70155855    c  W95 FAT32 (LBA)</pre>  
/dev/sda4            996        9729    70155855    c  W95 FAT32 (LBA)</pre>  
第一行显示了硬盘大小为80G,后4行说明了硬盘分区状态,带有*的是grub指定的内核位置,那么/dev/sda3在grub中是如何表示的呢? 在grub中表示为(hd0,2) ,也即分区号减一,我们现在把ubuntu的iso以及引导文件放在/dev/sda4的根目录下,/dev/sda4分区格式为fat32,那么,如果想引导grub启动/dev/sda4下的iso文件那么就要将grub引导到/dev/sda4盘下,也即(hd0,3)  
第一行显示了硬盘大小为80G,后4行说明了硬盘分区状态,带有*的是grub指定的内核位置,那么/dev/sda3在grub中是如何表示的呢? 在grub中表示为(hd0,2) ,也即分区号减一,我们现在把ubuntu的iso以及引导文件放在/dev/sda4的根目录下,/dev/sda4分区格式为fat32,那么,如果想引导grub启动/dev/sda4下的iso文件那么就要将grub引导到/dev/sda4盘下,也即(hd0,3)  
对应关系  
对应关系  
<pre>/dev/sda1                   hd0,0       
<pre>/dev/sda1               hd0,0       
/dev/sda2                 hd0,1
/dev/sda2               hd0,1
/dev/sda3  *            hd0,2
/dev/sda3  *            hd0,2
/dev/sda4                hd0,3</pre>  
/dev/sda4                hd0,3</pre>  
第104行: 第127行:
Units = cylinders of 4064 * 512 = 2080768 bytes
Units = cylinders of 4064 * 512 = 2080768 bytes
Disk identifier: 0x00000000
Disk identifier: 0x00000000
   Device Boot      Start        End      Blocks  Id  System
   Device Boot      Start        End      Blocks  Id  System
/dev/sdb1  *          1        1018    2068448    b  W95 FAT32
/dev/sdb1  *          1        1018    2068448    b  W95 FAT32
第115行: 第137行:
/dev/sdb1  /media/usb vfat defaults    0      0
/dev/sdb1  /media/usb vfat defaults    0      0
</pre>  
</pre>  
然后修改grub,引导位置即(hdb1,0)
然后修改grub,引导位置即(hd1,0)
 
== 在grub命令行下确定ISO位置  ==
在grub命令行下输入
<pre>
root (hd0,0)</pre>
在返还回显时可知道hd0,0属于什么格式的分区,
然后使用kernel+Tab键查询是否有启动文件的存在。
即可查看所有硬盘以及分区。
值得注意的是,使用grub 1.98版本会将分区显示为
(hd0,msdos1)
而不是
(hd0,1)


== 安装  ==
== 安装  ==
 
重启系统,在启动时选择Ubuntu 9.10 LiveCD启动项进入系统。  
重启系统,在启动时选择Ubuntu 8.04.1 LiveCD启动项进入系统。  
需要补充重要的一点:在点击桌面的安装之前,必须先umount isodevice
 
<pre>sudo umount -l /isodevice</pre>
具体安装方法和以前版本基本一致。或者参考[http://ilovemac.cn/articles/play-with-hardy-install-live.html Ubuntu8.04安装篇]一文<br>
具体安装方法和以前版本基本一致。或者参考[http://ilovemac.cn/articles/play-with-hardy-install-live.html Ubuntu8.04安装篇]一文<br>
== 重要参考资料 ==
可参考 [http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=58468&st=0&sk=t&sd=a 修改fstab的方法] 更为详细的有关(hd0,x)的设置信息可参考 北南南北 [http://www.linuxsir.org/main/?q=node/127 存储设备表示方法] 一文

2016年1月22日 (五) 15:10的最新版本

DVD 安装 LiveCD 试用 LiveCD 安装 U 盘安装 Wubi 安装 硬盘安装LiveCD

前言

更新的说明:--Xiaodan 2016年1月8日 (五) 18:42 (CST)

本文主要适用于Linux下本地安装Ubuntu系统,其原理也可借鉴于其他linux操作系统。 同时,本文主要讨论BIOS下的安装,EFI请直接查看“EFI”一节。

如果您不知道您的PC适用于哪一类,建议优先尝试BIOS引导下的操作,或求助他人。

设置iso文件

说明:以下内容均为假设情况,在实际操作中需要灵活掌握 假如我们把iso文件放在挂载磁盘下进行安装 ,挂载磁盘的位置为/media/disk/,其中/media/disk/的分区格式为vfat,也即FAT32 .其中/media/disk/的具体情况视各自具体情况而定.一个重要的前提是必须保证该挂载磁盘被fstab有效挂载 接下来我们要把该iso和其中的.disk和casper下的vmlinuz和initrd.lz释放出来,保存至/media/disk/ 在转移到/media/disk/下前请检查下/media/disk/的剩馀空间,剩馀空间至少要有750M。如果剩馀空间不多可考虑删除多余的文件。 首先将iso文件转移到/media/disk/下,进入存放iso文件的目录下

sudo mv *.iso /media/disk/

然后挂载iso,并拷贝到 /media/disk/

sudo mkdir /mnt/live ;
cd /media/disk ;
sudo mount -t iso9660 -o loop,utf8 *.iso /mnt/live/ ;
sudo cp -r /mnt/live/.disk  /media/disk/ ; 
sudo cp /mnt/live/casper/vmlinuz  /media/disk/ ;
sudo cp /mnt/live/casper/initrd.lz  /media/disk/

请注意,较新版本的ubuntu安装文件中,vmlinuz更名为vmlinuz.efi,用于efi启动模式,具体见EFI。 需要将该文件重命名,去掉efi后缀。

 mv /media/disk/vmlinuz.efi /media/disk/vmlinuz 

如果什么重要的文件请在系统重启前及时备份。

设置启动项(镜像、.disk、vmlinuz和initrd.lz 四个文件都在u盘等设备上时)

grub(类似CentOS和ubuntu旧版本)

可以先

locate menu.lst

找出该文件的位置,之后进行修改

请灵活更改以下代码。

注意,root (hd1,0)请根据自己的实际情况设置(应该为电脑的另一块硬盘或者U盘)。 另外,早期版本的Ubuntu为initrd.gz,新版本的Ubuntu为initrd.lz(本人非计算机专业,估计应该是内核相关的文件)

title Ubuntu x.xx LiveCD
root (hd1,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-x.xx-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.lz
boot

grub2

在GRUB 1.98 Ubuntu10.04测试

默认安装情况下打开grub2启动菜单的方法:

grub2启动菜单默认是隐藏的,除非您改动了/etc/default/grub中的设置。在开机启动时一直按Shift键,直到grub2启动菜单出现,这时候可以按上下方向键选择一个项目

在/etc/grub.d/40_custom(系统自带)中进行编辑,或者自行新建50_ubuntu进行编辑,应该注意的是,这些文件必须是可执行的,才能够由update-grub写入二进制文件,因此必须赋予可执行权限:

sudo chmod +x /etc/grub.d/40_custom

在40_custom

#!/bin/sh
exec tail -n +3 $0

之后的位置添加代码,这里的ubuntu-10.04-desktop-i386.iso镜像文件是放在U盘(另外一块硬盘)的根目录下。

menuentry "Ubuntu 10.04 LiveCD" {
set root='(hd1,1)'
loopback loop (hd1,1)/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
boot
}

其中,menuentry "xxx" { }为固定语法,必须要写。注意,{ }内的行与行之间不能有空行,必须是连续的。 loopback为grub2的新增功能,用于载入镜像文件。 grub2中,kernel命令已经被替换为linux;root已经被替换为set root hdx,x。

请注意,做出以上更改后,必须要执行grub-update,使更改写入启动文件。

sudo update-grub


EFI

1.按“设置iso文件”小节的说明拷贝文件。 2.重启,按下适当按键,进入efi模式。 3.选择vmlinuz.efi的路径,并启动。 4.安装,见“安装”小节。


如何确定ISO位置

grub和hd0,x是硬盘安装的关键问题,解决了这2个问题,硬盘安装Ubuntu操作系统就成功了一半! 使用fdisk查询本机硬盘分区状态,例如本人的:

sudo fdisk -l

结果如下

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00019d35
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       96358+  82  Linux swap / Solaris
/dev/sda2              13         302     2329425   83  Linux
/dev/sda3   *         303         995     5566522+  83  Linux
/dev/sda4             996        9729    70155855    c  W95 FAT32 (LBA)

第一行显示了硬盘大小为80G,后4行说明了硬盘分区状态,带有*的是grub指定的内核位置,那么/dev/sda3在grub中是如何表示的呢? 在grub中表示为(hd0,2) ,也即分区号减一,我们现在把ubuntu的iso以及引导文件放在/dev/sda4的根目录下,/dev/sda4分区格式为fat32,那么,如果想引导grub启动/dev/sda4下的iso文件那么就要将grub引导到/dev/sda4盘下,也即(hd0,3) 对应关系

/dev/sda1                hd0,0       
/dev/sda2                hd0,1
/dev/sda3   *            hd0,2
/dev/sda4                hd0,3

如果我们使用USB来安装ubuntu怎么办呢? 首先挂载usb到系统中使用fdisk查看usb磁盘分区状态,例如:

Disk /dev/sdb: 2118 MB, 2118123520 bytes
127 heads, 32 sectors/track, 1017 cylinders
Units = cylinders of 4064 * 512 = 2080768 bytes
Disk identifier: 0x00000000
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1018     2068448    b  W95 FAT32
Partition 1 has different physical/logical endings:
     phys=(1023, 126, 32) logical=(1017, 119, 32)

然后拷贝ubuntu的iso以及引导文件放在/dev/sdb1的根目录下,在/media下新建usb文件夹然后让系统自动挂载usb ,修改fstab,下面的仅做参考:

sudo nano /etc/fstab

添加:

#/dev/sdb1
/dev/sdb1   /media/usb vfat defaults    0      0

然后修改grub,引导位置即(hd1,0)

在grub命令行下确定ISO位置

在grub命令行下输入

root (hd0,0)

在返还回显时可知道hd0,0属于什么格式的分区, 然后使用kernel+Tab键查询是否有启动文件的存在。 即可查看所有硬盘以及分区。 值得注意的是,使用grub 1.98版本会将分区显示为 (hd0,msdos1) 而不是 (hd0,1)

安装

重启系统,在启动时选择Ubuntu 9.10 LiveCD启动项进入系统。 需要补充重要的一点:在点击桌面的安装之前,必须先umount isodevice

sudo umount -l /isodevice

具体安装方法和以前版本基本一致。或者参考Ubuntu8.04安装篇一文