`
dinguangx
  • 浏览: 240703 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ubuntu9.10从硬盘安装及从移动硬盘启动

阅读更多
一、 从硬盘安装系统
从硬盘安装系统,只是指你在没有光盘或不方便使用光盘的情况下,在windows系统中直接通过一定的方式加载iso镜像并安装操作系统。至于安装到电脑的主硬盘还是安装到移动硬盘就不那么重要的。因为对安装过程来说,它需要的是一个存储空间,并不在乎你这个空间是怎么来的。很多的教程指明安装到移动硬盘,听起来似乎很高级,实际上只是故弄玄虚,只要能从硬盘安装系统,安装的目的地是移动硬盘与固定硬盘已经无关紧要。

安装前的准备:
1. 一个Ubuntu的镜像文件,我用的是ubuntu-9.10-desktop-i386.iso

2. 多系统引导工具grub4dos-0.4.4.zip

3. 将镜像文件ubuntu-9.10-desktop-i386.iso复制到C盘根目录。这一步并不是必须的,如果知道怎么写menu.lst的话,放在其他路径中也可以。

4. 将grub4dos-0.4.4.zip中的menu.lst文件和grldr文件解压到C盘根目录。

5. 将ubuntu-9.10-desktop-i386.iso中的casper文件夹解压在C盘根目录,将该文件夹中的initrd.lz文件和vmlinuz文件放到C盘根目录。

6. 修改menu.lst文件,将下面代码放到文件的末尾
title install Ubuntu 9.10
root (hd0,0) 
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso 
initrd /initrd.lz


对这段代码的解释:
(1) Title instanll Ubuntu9.10 这个是在引导程序中显示的菜单项的名字,即在引导菜单中显示”install Ubuntu 9.10”
(2) root (hd0,0) 设置根目录为第1个硬盘的第1个分区,即这里的C盘。Hd指代Hard Disk,硬盘编号从0开始,分区编号也从0开始;但是0,1,2并不总是代表C、D、E盘,所以按CDE的顺序在决定分区的编号是不正确的。
(3) 最后两行代码是真正加载iso文件的命令,可以大概猜一下是什么意思了,不是很懂,不敢装懂。
最后1行中的/initrd.lz指代的是C盘中的initrd.lz文件 ,就是我们刚从镜像文件中解压出来的。在以前的很多版本的iso文件中,没有这个initrd.lz文件,而是initrd.gz文件。如果是不同的版本,记得修改后缀名。

7. 修改boot.ini文件,这个是系统文件夹里面的重要文件,需要先将文件夹选项中的“显示系统文件夹内容”给改一下。并且它是一个只读文件,需要先将只读的属性去掉。
在文件的末尾加上
c:\grldr="Install Ubuntu"
修改timeout为一个适当的值,以便系统启动的时候可以看到选择启动项的窗口。如,timeout=5.

开始安装,这里列出安装过程中需要注意的几个地方,也就是说,不能机械性地执行前进命令,需要停下来自己做决定的几个地方:

1. 重启电脑,在启动项菜单中选择”Install Ubuntu”(这里显示的是Install Ubuntu,而不会是Install Ubuntu9.10),再选择”Install Ubuntu 9.10”

2. 系统启动到图形界面,双击桌面上的”install”图标进行Ubuntu系统安装.

3. 接下面就有了前进与后退的指示性操作,想看效果的话,网上已经有了很多的图片可供参考。

4. 在检查磁盘分区时,由于电脑上已经安装过系统(对Ubuntu来说是已挂载过系统),它会弹出一个是否删除已挂载分区的确认框,一定要选“否”。我还没有试过选择“是”,如果你乐意尝试一下的话,可以选择“是”看一下会有什么样的后果。

5. 在准备磁盘空间时,选择“手动指定分区(高级)”,另外两项的不确定后果太过严重,不建议尝试。

6. 准备分区时,如果已经提前分配好磁盘,可以对原有分区做修改,用做Ubuntu的主分区和交换分区,但是原有分区中的内容会被清除掉。

如果是可用分配,通过添加主/逻辑分区设置分区大小选择文件系统(ext3/ext2/ext4,推荐ext3)挂载点选择“/”,创建一个主分区;再添加交换分区来创建一个交换分区,交换分区大小2G左右即可。

7. 准备开始安装时,默认的引导器会被安装在hd0,即对应于固定硬盘。如果系统安装在移动硬盘并从移动硬盘启动,需要修改这里的安装选项,点高级去掉安装启动器前面的勾,即不安装启动器,而等到系统安装完成之后再通过工具将MBR写到移动硬盘上。

二、 从移动硬盘引导启动

如果需要从移动硬盘启动,则在系统安装完成后,不要急于重启系统,点击[继续测试],找到/etc/fstab文件,将这个文件复制到硬盘的其他格式的分区,如fat32,ntfs等windows可以读取的分区。如果不能复制,打开这个文件,记下主分区所在的分区号及UUID。如我这里的主分区位于dev/sdb6,它的UUID为3f1ed1e8-02bd-4800-a0be-a642fef928a6

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sdb6 during installation
UUID=3f1ed1e8-02bd-4800-a0be-a642fef928a6 /      ext3    errors=remount-ro 0       1
# swap was on /dev/sdb7 during installation
UUID=ecb9646c-28e0-452c-bfde-00f2d037b56b none    swap    sw      0       0


重新启动进入windows操作系统,下载工具grubinst-1.1-bin-w32.zip。打开其中的grubinst_gui.exe文件,磁盘选择移动硬盘,点击安装就完成了MBR引导程序的安装。

将前面用过的grub4dos-0.4.4.zip包中的grldr文件放在移动硬盘某一个分区根目录下。
修改下面的代码,将所有的root=UUID=后面的UUID号更换为前面记下来的主分区的UUID,将所有的root(hd0,5)修改为主分区所在的硬盘和分区号,硬盘号从0开始编号;如,第一个硬盘,第二个硬盘编号分别为hd0,hd1.分区也从0开始编号,如,我这里的是第六个分区,对应于分区号为5.

修改完成后,保存为menu.lst,放在与grldr相同的分区根目录下。
# find --set-root /boot/fonts
# fontfile  /boot/fonts

# splashimage  /boot/splash/48.xpm

# 33E2AB   31E58B    96E618
# foreground 96E618
# background 000000

color black/cyan yellow/cyan


default		0
timeout		15

title Ubuntu hardy , kernel 2.6.31-14-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.31-14-generic  root=UUID=3f1ed1e8-02bd-4800-a0be-a642fef928a6   ro quiet splash 
initrd /boot/initrd.img-2.6.31-14-generic



title		Ubuntu hardy , kernel 2.6.31-14-generic ( acpi=off noapic nolapic )
root (hd0,5)
kernel		/boot/vmlinuz-2.6.31-14-generic root=UUID=3f1ed1e8-02bd-4800-a0be-a642fef928a6   ro quiet acpi=off noapic nolapic
initrd		/boot/initrd.img-2.6.31-14-generic


title		Ubuntu hardy , kernel 2.6.31-14-generic ( xforcevesa )
root (hd0,5)
kernel /boot/vmlinuz-2.6.31-14-generic root=UUID=3f1ed1e8-02bd-4800-a0be-a642fef928a6   ro quiet xforcevesa
initrd		/boot/initrd.img-2.6.31-14-generic


title Ubuntu hardy , kernel 2.6.31-14-generic (recovery mode)
root (hd0,5)
kernel		/boot/vmlinuz-2.6.31-14-generic root=UUID=3f1ed1e8-02bd-4800-a0be-a642fef928a6   ro single  acpi=off noapic nolapic
initrd		/boot/initrd.img-2.6.31-14-generic


title		Ubuntu hardy , memtest86+
root (hd0,5)
kernel		/boot/memtest86+.bin


如果是不同的Ubuntu版本,还需要修改kernel和initrd后面的/boot/vmlinuz-2.6.31-14-generic和/boot/initrd.img-2.6.31-14-generic对应的文件名,Ubuntu9.10中这两个文件的版本为2.6.31.14,如果为其他的版本,需要先记录其对应的版本号才好编写这个文件。

重新启动系统,将BIOS引导模式的USB硬盘引导(USB-HDD或USB Hard Disk)设置为First,保存退出。如果人品足够好的话,再次启动电脑之后就可以看到menu.lst中几个title组成的菜单项,选择第一项可以进入系统。


三、 安装过程中容易遇到的问题

Error 17
找不到你设置的分区,如前面设置的root (hd0,5),原以为会有第一个硬盘第6个分区的,但是引导程序并没有发现这个分区,会报这个错。
需要确认这个分区是否存在,以及引导程序所认为和分区编号和你所认为的分区编号是否一致。确认的方法为,在菜单项选择界面按c进入grub程序界面。
输入root (hd  按TAB键,会列出有多少个硬盘,及其编号,如
Hd0,hd1
输入root (hd0, 按TAB键,会列出第一块硬盘中有多少个分区,及其编号,如
Possible partitions are:
   Partition num: 0,  Filesystem type is fat, partition type 0xb
   Partition num: 5,  Filesystem type unknown, partition type 0x7
   Partition num: 6,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 7,  Filesystem type is ext2fs, partition type 0x83
   Partition num: 8,  Filesystem type is reiserfs, partition type 0xfd


查看所列出来的文件类型与自己所设想的文件类型是否一致。
可以通过下面的命令确认分区中的内容:
首先设置当前根目录: root(hd0,5)
列出根目录中的文件:ls
查看此目录中的文件是否为主分区中的文件。

前面注意到,在安装系统的时候,我将Ubuntu安装在移动硬盘中(/dev/sdb),理论上来说sdb对应的是第二块硬盘,也就应该对应于这里的hd1,而不是hd0。但是如果将menu.lst中的root设置为(hd1,5)的时候总是会报Error17或Error15,经过检查是硬盘号不对,在用移动硬盘启动的时候,移动硬盘变成了第一块硬盘,也就是在menu.lst文件中坚持写(hd0,5)而不是(hd1,5)的原因。

Error 15
找不到要引导的文件,即这里的/boot/vmlinuz-2.6.31-14-generic和/boot/initrd.img-2.6.31-14-generic。
首先在保证分区号正确,然后在确认一下这两个文件的版本、文件名是否正确。

不能从移动硬盘启动
首先确认已经通过grubinst将MBR写到移动硬盘中去,并保证grldr文件和menu.lst文件正确,并被置于移动硬盘某一分区根目录中。

找不到g2ldr文件
在通过grubinst文件写MBR到移动硬盘中时,选择了”Grub第二版”选项,grub第二版需要的是g2ldr文件而不是我们这里的grldr。如果选择此选项,需要自行寻找g2ldr文件安装新一版的grub程序。

安装参考:
[1] http://renren4.iteye.com/blog/467895
[2] http://bbs.pcbeta.com/thread-223323-1-1.html
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics