感谢支持
我们一直在努力

双硬盘安装XP和Ubuntu互不影响之简易方法

本文适合如下读者:


1、有两块硬盘;


2、两块硬盘分别装XP和Ubuntu


3、安装后互不影响(即可以分别安装和卸载)


先说偶的机器配置:


IBM T43 2G RAM 120G+40G HD


昨天下午去华强北买了个IBM光驱位硬盘盒,把升级后剩下的40G硬盘装下。


进BIOS,发现都能识别。


原来的120G硬盘上已经安装了XP,并下载了ISO文件


按照gnix_oag兄提供的--长期提供从硬盘启动Desktop ISO的引导文件:


http://www.linuxidc.com/Linux/2008-01/10834p2.htm


下载了引导文件,并做好配置,从硬盘安装了ISO文件。


关键点1:


在安装最后一步时,有一个ADVANCE选项,选择,并把GRUB安装到HD(1)


这步很关键,目的是不让GRUB改主盘上的MBR



关键点2:


安装后,由于gnix_oag 提供的MENU。LST默认是直接指向他提供的内核文件,而不能指到刚刚安装的Ubuntu 内核,所以需要修改。


重新进入Ubuntu安装选项,相当于用live CD启动


在终端下输入:


sudo gedit


分别打开位于120G硬盘中和40G硬盘中的/boot/grub 下的 menu.lst


可以看到/boot/grub 下的 menu.lst有对刚装好内核引导选项:


title Ubuntu 7.10, kernel 2.6.22-14-generic


root (hd1,0)


kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=0a74e191-64db-42e1-ab05-bdd1742f8c2f ro quiet splash


initrd /boot/initrd.img-2.6.22-14-generic


quiet


title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)


root (hd1,0)


kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=0a74e191-64db-42e1-ab05-bdd1742f8c2f ro single


initrd /boot/initrd.img-2.6.22-14-generic


title Ubuntu 7.10, memtest86+


root (hd1,0)


kernel /boot/memtest86+.bin


quiet


把这部分拷出来,复制到120G硬盘中的menu.lst,例如:


timeout 5


find –set-root /boot/grub/fonts.chs


splashimage /boot/grub/bj2008.xpm.gz


fontfile /boot/grub/fonts.chs


default 0


title Ubuntu 7.10, kernel 2.6.22-14-generic


root (hd1,0)


kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=0a74e191-64db-42e1-ab05-bdd1742f8c2f ro quiet splash


initrd /boot/initrd.img-2.6.22-14-generic


quiet


title Ubuntu 7.10


find –set-root /boot/grub/fonts.chs


kernel /boot/gutsy/vmlinuz boot=gnix_oag ramdisk_size=1048576 root=/dev/ram rw quiet splash debian-installer/locale=zh_CN fd_dir=gutsy


initrd /boot/gutsy/initrd.gz


title 一键还原


find –set-root /boot/grub/fonts.chs


kernel /boot/grub/mem_disk.gz c=120 h=2 s=36 floppy


initrd /boot/grub/ghost_1.gz c=120 h=2 s=36 floppy


title 启动 DOS


find –set-root /boot/grub/fonts.chs


kernel /boot/grub/mem_disk.gz c=64 h=8 s=36 floppy


initrd /boot/grub/dos98.gz c=64 h=8 s=36 floppy


title 返回上级


rootnoverify (hd0,0)


makeactive


chainloader +1


(请不要直接复制这个,因为硬盘的UUID是不一样的,即这个


root=UUID=0a74e191-64db-42e1-ab05-bdd1742f8c2f


是不一样的)


这样,启动后进入c:\grldr=” Ubuntu Linux “选项后(这个是WIN下的 BOOT。INI里我们自己加的),就可以看到多了个选项:


title Ubuntu 7.10, kernel 2.6.22-14-generic


直接选择,就可以进入装到第二个硬盘上的Ubuntu了。


优点:


1、相互独立,互不影响。2个盘都可以随时重新安装系统,Ubuntu安装完后按照上述方法就可以使用


2、第二个硬盘可以随时拔掉,只要不选Ubuntu 7.10, kernel 2.6.22-14-generic就可以


缺点:


只针对偶的T43,40G硬盘与光驱不能同时用了。

长期提供从硬盘启动Desktop ISO的引导文件


代码:
一、仅从硬盘启动Destdop ISO 并安装:


     1、从后面的链接下载相关引导文件并解压;


     2、在任意盘的根目录中新建一个文件夹,并重命名(如feisty、edgy等,menu.lst中用fd_dir变量把要找的文件夹传给系统)
        把下载的桌面版光盘(*.iso)文件放到此目录中,不要解压;
        例如*.iso 放在 X:\feisty ,则 menu.lst文件中的参数应为 fd_dir=feisty


     3、把解压后的 boot 文件夹、grldr、menu.lst文件移到 C:\,   
        在 c:\boot.ini 文件后面添加 c:\grldr=” Ubuntu Linux    ”
        把 timeout=0 改成 timeout=3
        (可参照 boot.ini.txt 文件)(如不行的话,请学习grub for dos来修改menu.lst配置文件,这也是必备知识 )


     4、启动后,先 sudo  umount -a  取消已挂载好的分区,再按桌面的安装程序进行安装。


二、免安装直接使用:
    在以上基础用下列方法可直接使用,


     1、用ubuntu.fs文件来保存数据:
        对于MS用户没有linux分区, 可用ubuntu.fs文件代替Linux分区,方法如下,
        从下载包的 “ubuntu.fs” 文件夹中选一个压缩的 ext2 分区映象,
        解压到要找的文件夹中(即与*.iso放在同一文件夹中即可),并重命名为 ubuntu.fs (所有新加的数据在这里),
        启动后,/hd_rw中有ubuntu.fs 就表示成功;


     2、用ubuntu.fs 文件夹来保存数据:
        对于已用linux分区的用户,可把数据保存在一个文件夹中,
        这个文件夹要在所要找的文件夹中(即与*.iso放在同一文件夹中即可),并重命名为 ubuntu.fs   
        启动后,/hd_rw中有ubuntu.fs 就表示成功; 


     3、用swap.fs文件来虚拟内存
        从 “swap.fs” 中选一个压缩的swap.fs映象
        解压到任意盘根目录或要找的文件夹中(即与*.iso放在同一文件夹中即可),并重命名为 swap.fs
        启动后,用 swapon -s 检查是否正在使用


三、使用符加的软件包,简化程序的安装:


     1、下载安装好的软件符加包*.rofs,(一般在有中文包与常用软件包)


     2、把它放入要找的文件夹中,(即与*.iso放在同一文件夹中即可)。



四、在U盘或移动硬盘上使用
    本引导包完全可在U盘或移动硬盘上使用,只要把引导程序安装好就行了(grub for dos )
    1、安装grub for dos 引导程序:
       下载 http://ftp.ubuntu.org.cn/home/gnix_oag/bootlace.com
              chmod +x ./bootlace.com
              sudo ./bootlace –floppy /dev/sda1  (u盘)


    2、再把 grub 相关文件(/boot /menu /grldr) 及iso文件(按前面的方法)放到u盘上


    3、在别人机子上使用时,可删除/etc/gnix.oag*文件,或用新的文件来保存数据,这样启动时就能自动配置系统与驱动。或加入 ptptptptpt 的显卡配置脚本,就更方便。


 



下载地址 http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/


下载用户名与密码 http://forum.ubuntu.org.cn/viewtopic.php?t=9685
当前用户名:ubuntu
当前密码:ubuntuftp



Ubuntu feisty 7.10 :
http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/gutsy/bhd_i386_2.6.22-14g-ntfs.tar.gz


Ubuntu feisty 7.04 :


引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/feisty/bhd_i386_2.6.20-15g-ntfs-aufs.tar.gz
对应光盘: http://releases.ubuntu.com/feisty/ubuntu-7.04-desktop-i386.iso
中文包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/feisty/rofs/02base_zh.rofs (52M) 2007-7-9更新
光盘中没有安装中文,把此中文包放入*.iso相同的文件夹即可
常用软件包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/feisty/rofs/03_soft.rofs (140M)


http://www.linux-wiki.cn/archieve/bhd_i386_2.6.20-15g-ntfs-aufs.tar.gz



Ubuntu egdy 6.10 : ubuntu kubuntu xubuntu 等内核相同,均可通用,只是引导界面不同
引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/edgy/6.10/bhd_i386_2.6.17-10g.tar.gz
对应光盘: http://releases.ubuntu.com/edgy/ubuntu-6.10-desktop-i386.iso
xubuntu引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/edgy/xubuntu/bhd_i386_2.6.17-10g.tar.gz
对应光盘: http://cdimage.ubuntu.com/xubuntu/releases/6.10/release/xubuntu-6.10-desktop-i386.iso
amd64 引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/edgy/6.10/bhd_amd64_2.6.17-10g.tar.gz (未试)


Ubuntu dapper 6.06.1
引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/dapper/6.06.1/boot_from_hd.i386.tar.gz
对应光盘: http://releases.ubuntu.com/dapper/ubuntu-6.06.1-desktop-i386.iso


hiweed-desktop_1.0final
引导包: http://ftp.ubuntu.org.cn/home/gnix_oag/boot_livecd_from_hd/hiweed/desktop_1.0final/boot_from_hd.i386.tar.gz
对应光盘: http://mirror.vmmatrix.net/hiweed/desktop/hiweed-desktop_1.0final.iso


 

Ubuntu、kubuntu、xubuntu 等同版本的 Destop CD 都使用相同的内核。


你可以用 uname -a 可查看看你当前所使用的内核版本。


内核不可能集成很多的驱动与模块,这些一般放在硬盘或live CD 上,


启动时当需要什么模块时就会从硬盘或live CD上装入,


所以只要引导的内核版本与Live CD上的模块版本相同就能正常引导。


由此,本引导程序可以引导同版本的Live CD ,如 ubuntu kubuntu xubuntu 或其它基于ubuntu的 Live CD


可本引导程序的引导界面是ubuntu的,有人觉的不爽,可按以下方法修改:


引导图一般在 /usr/lib/usplash/ 中,我们要做的就是用 /usr/lib/usplash/中的图替代 initrd.gz 中的图,


很简单:


解压:


代码:


gunzip  initrd.gz


mkdir tmp


cd tmp


cpio -i -F ../initrd


替换图、或用/usr/lib/usplash/ 中的其它图:


代码:


cp -L /usr/lib/usplash/usplash-artwork.so  usr/lib/usplash/usplash-artwork.so


再打包即可:


代码:


find . |cpio -o -H newc |gzip -9 >../initrd.gz


引导图也可参照这个来重新做: http://wiki.ubuntu.org.cn/USplashCustomizationHowto

代码:


制作*.rofs法一


制定 LiveCD 可参照这个来做:https://help.Ubuntu.com/community/LiveCDCustomization


我们要做的 *.rofs 则是要把增加的内容或修改的内容分离出来,


所以可以用 unionfs 或 aufs 文件系统把制定的内容分离出来,


但unionfs与aufs好象不能嵌套使用,所以在 Live CD 环境下不能用此法,


1、安装squashfs-tools(用来压缩)


   sudo apt-get install squashfs-tools


   sudo modprobe squashfs


2、挂载 Live CD 文件系统


   sudo mount -o loop ubuntu-*.iso /cdrom


   mkdir ~/livecd


   sudo mount -t squashfs -o loop /cdrom/casper/filesystem.squashfs ~/livecd


3、使用unoinfs文件系统


   mkdir ~/rwfs


   mkdir ~/edit


   sudo mount -t unionfs -o dirs=~/rwfs=rw:~/livecd=ro none ~/edit


4、进入edit中


   sudo cp /etc/resolv.conf ~/edit/etc/


   sudo cp /etc/hosts ~/edit/etc/


   sudo chroot ~/edit


   mount -t proc none /proc


   mount -t sysfs none /sys


   export HOME=/root


   export LC_ALL=C


5、添加软件,进行设置等:


6、打包:


   rm -rf /tmp/*


   rm /etc/reumount /proc


   umount /syssolv.conf


   umount /sys


   exit


   sudo mksquashfs rwfs *.rofs


aufs 就是另一个联合文件系统,可用来替代 unionfs ,(unionfs 有 bug,不好用)


它的作用就是把多个文件系统或者说是文件夹联合起来,变成一个文件系统。


所有的Live CD要正常使用,都要用到这样的文件系统,因为Live CD 是只读的,而运行系统则要写入的。


一般Live CD启动时,会从内存中取出一部分做成虚拟磁盘,与 Live CD 联合起来,这样就把运行中的数据写入在虚拟磁盘中了,


当然也可以用一个分区,或其它文件夹来联合起来,这就是Live CD能保存数据的原理。


aufs 比较成熟,很多Live CD 已经在用它。


制作*.rofs法二 (feisty中文包就是这样做出来的,呵呵)


1、先用本引导程序启动,用ubuntu.fs文件保存配置,(选用256mb就可以了)


启动后,设置网络及下载的软件源,更新软件包列表。


2、接下来就要安装或制定程序,为了把安装的程序与个人或硬件信息分开,则必须要用新的ubuntu.fs文件来保存数据。


重启到XP或可操作的系统中,把 ubuntu.fs 重命名为 01.rofs


再解压一个新ubuntu.fs文件(可根据安装程序大小来选用ubuntu.fs大小),或在Linux分区上用一个文件夹来保存数据。


3、重启,进入到ubuntu中用新立得安装程序,并设置、配置系统。


为了后面的压缩,请安装 squashfs-tools 软件。


由于是在本live CD中安装的,故你可以看到当前的效果。


清除下载的软件包: sudo apt-get clean


4、制作*.rofs ,


cd /hd_rwfs/ubuntu.fs


mksquashfs etc bin usr opt var … /media/d_win/feisty/02.rofs


在这里要排除 hd_rofs hd_rwfs home root 文件夹,


但不知mksquashfs 的 -e 怎么没有作用,只能用上在的命令做了。


再把原来的 ubuntu.fs 重命名或删去,用新的ubuntu.fs 可做出 03.rofs 04.rofs…….


在wsky586的要求下,重新做了下,修正一个小问题,


就是第二次以后的启动,不能自己挂载相关分区,


gutsy的引导程序做好后,没怎么说明,现在说明下新功能:


就是在硬件变化时,也就是 lspci 变化时,会自动重新配置fstab和显卡驱动


很适合放在U盘上和移动硬盘上,到别人机子上可方便使用。


http://ftp.ubuntu.org.cn/gnix_oag/boot_livecd_from_hd/gutsy/bhd_i386_2.6.22-14g-ntfs1.tar.gz


欢迎大家测试。

赞(0) 打赏
转载请注明出处:服务器评测 » 双硬盘安装XP和Ubuntu互不影响之简易方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏