对于标题中的几个问题,网上有很多教材,但是我在ubuntu14.04下,反复尝试一直失败。经过反复折腾,终于找到了症结所在
一、用grub2引导14.04的ISO
1、04的ISO文件放在某个ntfs格式分区(据说fat、ext的分区也行)的根目录,建议改名(改成简短些的名字)。
2、修鸷拳林根改文件 /etc/grub.d/40_custom (不要直接改文件 /boot/grub/grub.cfg),加上以下几行:menuentry "Ubuntu 1桃轾庾殇4.04 LiveCD" {insmod ntfsloopback loop (hd0,X)/ubuntu.isolinux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu.iso locale=zh_CN.UTF-8 splashinitrd (loop)/casper/initrd.lz}注意:标红的那几个地方是关键。 (1)根据磁盘格式调入对应模块,(2)(hd0,X)的X要指对地方(3)14.04中,vmlinuz.efi对应的是64位,32位依然是vmlinuz,32位没有.efi,要注意区分。
3、然后执行:sudo update-grub ,使修改生效。
二、用grub2引导WinPE的ISO
1、iso文件放在ntfs分区的根目录,建议改名(改的简短些)。
2、在自己机器上找到/usr/lib/syslinux/memdisk,复制一份,同ISO文件放在一起。(这里注意:不要到网上下载,而是要用本机的文件。网上下载的,往往不能用。)
3、修改文件 /etc/grub.d/40_custom (不要直接改文件 /boot/grub/grub.cfg),加上以下几行:menuentry 'Boot usb system ISO'{set root='(hd0,msdos8)'echo 'Loading Memdisk...'insmod memdisklinux16 /memdisk iso rawecho 'Loading ISO...'initrd16 /USBSYS.ISO}注意:标红的那几个地方是关键。 (1)(hd0,msdos8)要指对地方(2)文件名要写对,包括大小写
4、然后执行:sudo update-grub ,使修改生效。注意:(1)最近发现,能够正常启动的PE,偶尔在某次启动时也会花屏。有时需要多启动几次试试(2)不是所有PE的ISO都能启动。如果启动后总是花屏、黑屏、死机,则要换个PE。(3)使用了memdisk,机器内存小的,可能会启动失败。而且启动速度有点慢。
三、制作系统救急U盘
1、U盘分区:其实怎么分区不重要,按照其他分区都行,磁盘格式也不重要,关键是要有“boot”标志。不过考虑到数据保护和方便U盘的使用,建议分2个区,第一个分区大小=u盘总容量-2G,NTFS格式(存放日常数据)。第二个分区容量2G,ext3格式(存放grub和ISO文件)。分区时可以用gparted分区,分区完成后要记下来第二分区的uuid,后面用得到。
2、安港粕登漪装grub2:挂载分区并安装grub2到U盘:注意如果你有多块硬盘,则sdb2也可能是其他,/dev/sdb也可能是其他,请自行判断,不要机械抄命令:sudo mount /dev/sdb2 /mnt sudo grub-install --root-directory=/mnt /dev/sdb安装成功后,U盘第二个分区里面应当出现“/boot”文件夹及“/boot/grub”文件夹。
3、配置grub菜单:代码:sudo cp /boot/grub/grub.cfg /mnt/boot/grub/然后用自己顺手的编辑器修改/mnt/boot/grub/grub.cfg。关键点:(1)修改grub.cfg,指定root磁盘分区和对应UUID到第二分区,找到下面这一段,“msdos1”改成“msdos2”,“ecdcb3b9-0e43-489a-89ed-5ca9469ea629”,改成第二分区对应的uuid(分区时记下来的)。代码:set root='hd0,msdos2'if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 ecdcb3b9-0e43-489a-89ed-5ca9469ea629else search --no-floppy --fs-uuid --set=root ecdcb3b9-0e43-489a-89ed-5ca9469ea629fi font="/usr/share/grub/unicode.pf2"fi(2)在U盘这个分区内放置ISO文件和memdisk文件,按照上面“一、二”方法配置启动菜单(区别:这里是直接修改grub.cfg文件)。注意这里的磁盘标示也是“hd0”和“sda”,不要因为是U盘就习惯性写成“hd1”和“sdb”。以便实现多重启动安装。但是这种U盘无法启动安装版的win7(不满足启动条件)。(3)其他启动项可以适当删除或者保留,但是建议保留启动硬盘里面的ubuntu、win7等已安装系统的启动项,作为救急盘使用(比如重装win7后,可以用它来回复硬盘grub2引导菜单等)但要做几处修改:将对应启动项里面的“hd0”改成“hd1”,将“sda”改成“sdb”。
4、经测试,本救急盘甚至可以实现多机通用:多重启动肯定能够通用,而已安装系统启动菜单则保留多套就是了,在启动项里面标注清楚机器名即可。而且只占用了大约2G空间,其余空间依然可以日常使用。
四、grub2引导win7.ISO,硬盘安装
1、如果是Ghost版的,则要先用方法“二”引导一个其他PE,然后在PE下面安装,(不要直接引导Ghost版win7的iso,不容易成功的)
2、如果是安装版,则需要将ISO内的文件全部解压到本地硬盘某个ntfs分区的根目录,然后sudo update-grub ,会自动在grub产生引导菜单。