硬盘安装LiveCD

来自Ubuntu中文
Mike2718留言 | 贡献2011年7月22日 (五) 18:33的版本 →‎grub2:​ 添加并修正内容
跳到导航跳到搜索
可打印版本不再受到支持且可能有渲染错误。请更新您的浏览器书签并改用浏览器默认打印功能。
DVD 安装 LiveCD 试用 LiveCD 安装 U 盘安装 Wubi 安装 硬盘安装LiveCD

设置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/

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

设置启动项(镜像、.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测试

首先,在开机启动时一直按Shift键,直到grub启动菜单出现,这时候可以按下方向键选择一个项目

在/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

之后的位置添加代码

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
}

其中,menuentry "xxx" { }为固定语法,必须要写。 loopback为grub2的新增功能,用于载入镜像文件。 grub2中,kernel命令已经被替换为linux


完成后后记得要

sudo update-grub


如何确定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命令行下输入

ls

即可查看所有硬盘以及分区。 值得注意的是,使用grub 1.98版本会将分区显示为 (hd0,msdos1) 而不是 (hd0,1)

安装

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

sudo umount -l /isodevice

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