[转]【硬盘安装】清华同方“变形金刚”上网本硬盘安装kubuntu方法(不将grub写入MBR)

来源:互联网 发布:二维数组c# 编辑:程序博客网 时间:2024/05/17 07:41

原文地址  ==> http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=292228

 

 

简介:以前都是在VMware里直接安装kubuntu,grub也是默认写在MBR中,从来没注意硬盘安装方面的问题。但是现在打算在上网本上装个kubuntu,虚拟机肯定是跑不动了,又没光驱,只能在坛子里翻了好几天的帖子,看了十几个关于硬盘安装方面的帖子,但是发现各位大侠都是以计算机从业人员的基础写的内容,对于不熟悉计算机的普通用户会如看天书,而且很多都写了硬盘安装,但是grub不写MBR而写逻辑分区后如何正确引导到实装的kubuntu则写的不多。自己折腾了一天总算集各帖子的方法于一身,总算实现了自己的目标。下文所述方法在本人的“变形金刚”上网本已成功安装上 Kubuntu 10.04 LTS ,并且不将grub写入MBR,而是写入kubuntu根分区。如此选择之目的是为了方便将C盘上的WinXP通过ghost修复时,不会因为MBR被修改而导致grub引导信息被破坏无法进入kubuntu,从而需要麻烦的再次通过iso光盘镜像文件修复被破坏的grub。此方法只需要将安装完成后的C盘几个相关配置文件打包备份到其它硬盘分区,就可以在ghost修复WinXP后很简便的将配置文件拷贝回C盘根目录即可重新恢复引导启动kubuntu。(当然wubi也不失为一种选择,但是本人纯属个人癖好——如果不是虚拟机那么就喜欢实装系统。)




本机磁盘分配情况:深度技术精简版的WinXP安装在C盘,还有一个100 GB大小的D盘存放资料数据,在D盘后面留20 GB的空白磁盘分区准备安装Kubuntu。其它机器磁盘分配情况可自行安排。为了避免让大多数普通计算机用户纠结于磁盘分区在linux系统中如何计算表达方式,所有的相关内容均拷贝在C盘根目录下。本例子仅以只有一块硬盘为例,多块硬
盘的具体情况,则需要具体了解linux系统磁盘分区的表达方式。




准备工作:
1、下载好需要的Kubuntu光盘镜像文件,例如本机使用 kubuntu-10.04.1-netbook-i386.iso
官方下载各版本的地址: http://www.kubuntu.org/getkubuntu/download
Ubuntu官方下载上网本系统地址: http://www.ubuntu.com/netbook/get-ubuntu/download
如果是台式机或笔记本需要的Ubuntu系统请选择: http://www.ubuntu.com/desktop/get-ubuntu/download

2、下载好最新的GRUB4DOS文件,例如本机使用 grub4dos-0.4.4-2009-06-20.zip
官方下载各版本地址: http://download.gna.org/grub4dos/
(注意不用下载带“-src”字样的打包文件,这个是源代码包)




开始安装:
1、将grub4dos-0.4.4-2009-06-20.zip解压缩,只取用其中的四个文件grldr、grldr.bmr、grub.exe、menu.lst,将其拷贝到C盘根目录下

2、修改menu.lst文件,可以使用UltraEdit,也可以使用WinXP自带的“写字板”,如果用“记事本”修改此配置文件可能文本排版看得你头晕。修改其内容,多余部分可不要,修改完后大致如下:


 



唯一与原配置文件不同的就是最后的:


 



这个新增段落,它的作用就是在(hd0,0)磁盘分区上(“(hd0,0)”意思是第一块硬盘的第一个分区,这里也就是C盘)
引导对应名称的光盘镜像文件kubuntu-10.04.1-netbook-i386.iso,安装其它版本的ubuntu/Kubuntu系统时请将光盘文件修改为相应的名称,注意大小写保持一致。

3、使用WinRAR工具软件或者虚拟光驱工具,从kubuntu-10.04.1-netbook-i386.iso光盘镜像中的casper目录下提取vmlinuzinitrd.lz两个文件到C盘根目录,“initrd.lz”文件有可能不是“.lz”的后缀,不过同样提取之,只是在menu.lst配置文件的最后一行内容 “initrd (hd0,0)/initrd.lz”作相应修改。

4、修改C盘根目录下WinXP的“boot.ini”启动配置文件,新增最后一行加上“C:/grldr="Instal Kubuntu 10.04 LTS"”,其文件内容大致如下:


 



如果保存boot.ini文件时有问题,请去掉该文件的只读属性。如果在C盘根目录没看到此文件,请设置文件夹属性,确保能看到系统分区下的隐藏文件。

5、将 kubuntu-10.04.1-netbook-i386.iso 光盘镜像文件拷贝到C盘根目录中,然后重新启动计算机

6、在启动进入WinXP的引导选项时选择“Install Kubuntu 10.04 LTS”

7、在进入GRUB4DOS的引导列表选项时选择最下面的“Install Kubuntu 10.04 LTS”

8、进入kubuntu的正常安装界面后先不要急于安装,请打开Kconsole控制台界面或者使用Ctrl + Alt + F2(F2--F6均可)进入文字操作界面,然后在命令行中输入指令“sudo umount -l /isodevice”回车,遇到提示需要密码时输入安装盘默认的超级用户密码“ubuntu”,命令运行后无其它异常提示则代表卸载isodevice设备成功,否则在后面正式开始安装系统时有可能会碰到报错情况导致无法安装。关闭Kconsole控制台界面或者使用Ctrl + Alt + F7回到LiveCD的桌面环境。

9、根据自己的喜好进行正式安装工作,例如选择不同的系统语言、时区、超级用户账号和密码(第一个建立的账号即为超级用户账号,类似于Win下的系统管理员概念)、对自己预留的空白磁盘分区进行再次自定义分区等等。这里以本机为例,对20 GB的预留空白磁盘空间分区情况如下:


 



(建议可以另外建立一个150 MB大小的/boot分区用于专门存放kubuntu的引导信息,并将grub写入这个分区,此分区也建议选择Ext4分区模式)

请一定记住自己的根分区(或/boot分区,如果建立此分区)的分区表达方式,以本机为例:我的根分区是“/dev/sda7”,我的交换分区是“/dev/sda8”,我的home分区是“/dev/sda9”。这个每台机器各不相同,请注意记清楚。

在正式安装系统到磁盘前的最后一步中请选择“高级”(大约是界面右下角位置),在里面如果选择将引导信息写入“/dev/sda”则grub会写入MBR,因此如果打算将grub写入逻辑分区,请在下拉列表中选择相应的分区,以本机为例是选择“/dev/sda7”写入根分区。选好后确定关闭高级界面,开始将系统安装到磁盘的最后工作,等待安装完成。

10、安装完毕后,千万不要急于重启动计算机,还有最后一部最重要的配置文件修改工作需要进行,否则重启计算机后也还是进入不了硬盘上安装好的kubuntu系统。请使用Kate文本编辑器打开“/boot/grub/grub.cfg”这个配置文件,在其中靠后的段落中查找类似于如下的配置段落:


 



其中“2.6.32-24-generic”这个内核版本号对于具体的kubuntu系统会各有不同,我们重点需要的只是其中的“aa3dfcff-bec1-4e0b-9e92-9526133e220c”这个uuid编号,每台机器不同的磁盘分区其uuid表达字符串也各不相同,各自机器中这个字符串肯定不会一样,这个正是我们最需要的东西。将此段落使用Kate编辑器新建一个文本文档保存到WinXP的C盘或D盘等分区根目录下。此后才可以重新启动计算机。

11、重启选择进入WinXP系统,进行最后的配置工作:先删除C盘根目录下的vmlinuzinitrd.lz两个文件,以及kubuntu-10.04.1-netbook-i386.iso光盘镜像文件。然后修改menu.lst配置文件,将最后那个如下的段落删除:


 



删除此段落后,将从kubuntu安装步骤中保存到C盘或D盘根目录的新建文本文档使用UltraEdit或“写字板”打开,将其中段落拷贝到menu.lst文件的最后段落位置,做如下相应修改:

menuentry "Ubuntu, Linux 2.6.32-24-generic" {” 修改为 “title Kubuntu Linux 2.6.32-24-generic
search --no-floppy --fs-uuid --set aa3dfcff-bec1-4e0b-9e92-9526133e220c” 修改为 “uuid aa3dfcff-bec1-4e0b-9e92-9526133e220c
linux /boot/vmlinuz-2.6.32-24-generic root=UUID=aa3dfcff-bec1-4e0b-9e92-9526133e220c ro quiet splash”中的“linux”修改为“kernel
initrd /boot/initrd.img-2.6.32-24-generic”保留并在其后新增一行内容“quiet
除了上述提到的内容,其它行的内容均删除,修改完后最后一段的内容大致如下:


 

 



注意大小写内容保持一致不变。注意uuid编号“c9713743-1074-42cc-8556-59ac53eb6453”这个是每台机器具体内容都不一样,一定要拷贝使用kubuntu系统中新建那个文本文档中的相应字符串。使用uuid编号可以避免普通计算机用户不用纠结于磁盘分区在linux系统中如何计算表达方式,例如/dev/sda7则是(hd0,6)等等。

修改完毕后保存menu.lst配置文件。并修改WinXP在C盘根目录下的启动配置文件boot.ini,将“C:/grldr="Install Kubuntu 10.04 LTS"” 修改为 “C:/grldr.mbr="Kubuntu 10.04 LTS"”。然后保存boot.ini文件。


完成以上所有工作后,即完成例了如下工作:硬盘安装kubuntu,并且不将grub写入MBR,而是写入到逻辑分区,最后能够正确引导进入新安装的kubuntu系统。今后开机就可以正常使用安装在硬盘上的kubuntu系统。其具体的后期配置工作请参见wiki。


最后向刚踏入kubuntu世界并且想更多了解一下linux世界的人们推荐一本书:《鸟哥的Linux私房菜》,这个有pdf的电子版可以在网上搜索下载,在国内也已经出了简体版的实体书,我已经买了一本收藏。鸟哥的笔调比较诙谐轻松,不像很多教科书那样可以保持严肃的文风。


再再最后推荐一个坛子里的神作:《你只有一个电脑,装几个甚至十几个系统而互不影响,多N B的一件事儿啊!
此文介绍用grub引导多个操作系统。
观看地址: http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=226247




这里有个问题要请教linux大侠们:我自己安装时,最开始根分区不是选择的Ext4模式,而是跟home分区一样选择的ReiserFS模式,但是在安装过程将grub写入根分区时总是产生致命错误,试着将grub写入home分区也是一样,后来尝试将根分区设置为Ext4分区模式,就可以正常将grub写入根分区了。这个是必须将需要写入grub的分区设置为Ext4模式吗?


如需转载,请注明出处即可,请保留原始链接地址: http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=292228

 

 

 

 

*****************************  分割现  ********************************

 

 

昨天乱折腾一番,结果把上网本的 kubuntu 搞崩溃了。
今天又重装了一次,结果新发现“uuid c9713743-1074-42cc-8556-59ac53eb6453”这样的编号,即使象我这样在原来的分区上重装也会改变。
所以以前的 menu.lst 也不能继续复用。
又在坛子里泡了一下午,试成功了新的配置:


 



安装的时候根分区就是“/dev/sda7”所以配置中就是“root (hd0,6)”。
类似的
/dev/sda1       hd0,0 
/dev/sda2       hd0,1
/dev/sda3       hd0,2
/dev/sda4       hd0,3

 

 

原创粉丝点击