Windows下硬盘安装Ubuntu记

本文不讨论光驱光安装的任何详情,基本上Ubuntu会帮你搞定一切。

0 系统情况:
0.1 Thinkpad T43;
0.2 存储设备1,80G内置硬盘原装,分区为四块(C:, D:, E:, IBM恢复区),其中E盘为Fat32格式,其他为NTFS;
0.3 存储设备2,30G第二块硬盘,用光驱位硬盘盒(所以没有光驱了……)连接,安装前只有一个分区;
0.4 C:\装有Windows XP,D:\放有工作用的文件,E:\下面空白;

计划:把Ubuntu安装在第二块硬盘上,但由于是光驱位的硬盘合,所以只能用硬盘安装。查了很多手册,都写着硬盘安装”不适用于新手“。我是新手,不过我没办法,没有光驱,只能硬着头皮上。

优点:不需要用grub进行引导进入Live CD,免去一些奇怪的配置。

缺点:需要一个windows下的分区牺牲下,临时充当一回虚拟光驱:P,所以,别放在XP系统盘下面哦?

1 安装前:
1.1 Ubuntu水平:用Wubi安装系统并试用过,后卸掉。保留ubuntu-8.04-desktop-i386.iso,即live CD。
1.2 此处下载grub4dos,解压缩在D盘,我们只需要那个grldr文件。
1.3 此处下载Ubuntu8.04速成手册1.0,配置的时候要用到这个(有错误,但不影响你使用。你需要了事先了解一下ext2, ext3, xfs, swap,以及分区指导,这个速成手册里面有。注意,略去所有配置grub的部分。这篇手册,暂时读完安装部分就可以了,不需要作任何其他操作。)
1.4 将ubuntu-8.04-desktop-i386.iso全部解压缩下E盘根目录。我的E盘是FAT32格式,有人说NTFS格式下也可以,我没试过,如果你有兴趣和时间,可以试一试解压缩在NTFS盘下。

2 安装开始
2.1 Windows下,进入E:\,运行umenu.exe,选择demo and full installation,选择help me to boot from CD,这个时候wubi会引导系统重启并模似光驱启动。重启时记得在Windows XP下面选择Ubuntu,这样可以进入live CD。
2.2 进入Live CD后,点击桌面上的“安装”,很windows化的界面,包括分区及格式化等等,具体的注意事项这个手册里面有,不多讲。(值得一提的是,在确认分区进入“安装”前,“安装”按钮上方有一个“高级”选项,我把grub设置安装在了第二块硬盘上面(sdb…),这样,即使我拔出第一块硬盘,第二块也可以单独起动。)
2.3 安装完成后,不要急着重启。你可以通过live CD看到原windows下面磁盘的内容(除了作虚拟光驱的那个),我打开D盘(Ubuntu下面只能看到类似于“30.8G 介质”字样),将grub4dos解压缩出来的那个文件“grldr”复制到Windows XP的C盘下面(也是类似于“19G 介质”字样)。找到boot.ini,将最后一行

c:\wubildr=”Ubuntu” #这是wubi引导虚拟光盘的

改为

c:\grldr=”Ubuntu”

接下来,在ubuntu系统文件安装位置(注意:不是liveCD)下面,寻找/boot/grub/,将这个文件夹下面的menu.lst复制到C盘根目录下,重启,一切搞定。
2.4 由于E:盘被虚拟成了cdrom,所以你即使在windows下面去掉了wubi和分区下live CD的内容,但在ubuntu启动的时候,还是会把这个分区当成CDROM来启动,后果是你在ubuntu下面访问不了这个windows的分区。解决方法也简单,修改ubuntu下面的/etc/fstab文件,把cdrom那一行前面加上”#”注释掉就OK了。类似于:

# /dev/sda6       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

2.5 第二块硬盘单独启动时,因为拔出了第一块硬盘,原主引导记录不见了,主板BIOS会用一小段时间来检查硬件,由于第二块硬盘上装有grub引导程序,因此稍后会显示/boot/grub/menu.lst下面的选项。直接选择内核是进入不了的,原因是grub的配置:原硬盘编号hd(1,x)由于第一块硬盘被拔出,变成了hd(0,x)。解决方法也简单,在类似选项”vmlinuz-2.6.24-19-genetic“上面按e,将第一行的hd(1,x)换成hd(0,x),按b重新boot即可。

总结一下:

1. 所谓windows下硬盘安装Ubuntu需要事先配置grub不是必然的,对于菜鸟来讲,grub是一个很另类的东西,windows决不会教用户怎么引导系统。
而且类似于menu.lst中这样的内容:

title install-ubuntu8.04
root (hd0,6)
kernel /vmlinuz boot=casper iso-scan/filename=/hardy-desktop-i386.iso quiet
splash ro automatic-ubiquity locale=zh_CN.UTF-8 noprompt –
initrd /initrd.gz
boot

普通人是看不懂的,这样的配置也许在某些电脑上可以成功,不过我的电脑上就是不行,而且作为菜鸟我可以理解hd(0,x)代表第一块硬盘,hd(1,x)代表第二块硬盘,但我无从知晓硬盘hd(1,x)中的x到底是几,别提配置grub的那个menu.lst了。我的电脑E 盘居然是hd(0,6),这是在ubuntu下面才看到的,而且排列顺序绝对不是你想像中的1,2,3,4……

另外,用扫描根目录下iso的方法

title Ubuntu 8.04 LiveCD
find –set-root /ubuntu-8.04-desktop-i386.iso
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-8.04-desktop-i386.iso quiet splash ro automatic-ubiquity locale=zh_CN.UTF-8 noprompt
initrd /initrd.gz

也不一定能成功找到iso文件,什么原因我不知道,有人说要把iso文件放在一个目录下面(而不是根目录)才可以,但这个方法在我的电脑上也不行。

不知道是Ubuntu的wubi引导虚拟光驱方式不太好,还是专家们没意识到8.04有wubi这样的好东西,再或是专家们爱死grub了,总而言之,总会有手册教你怎么用grub引导live CD。

2. grldr和menu.lst,加上boot.ini已经足够引导系统的了。当你升级内核时,也只需要把/boot/grub/menu.lst直接复制覆盖Windows系统盘下面那个menu.lst就好,让二者保持一致就OK。

Leave a Reply