我原来PE跟Linux Live是在一个分区的,如果需要引导Linux Live就要改分区引导记录为syslinux,引导PE就要改为bootmgr。主引导记录是UltraISO HDD+,这个不用变。据说经常改这个分区表容易坏,本来也不想这样弄的,太麻烦。原来是想直接用grub引导的两个系统的。
尝试(从一些cfg中学习的):
insmod part_msdos。加载msdos文件系统模块。
set root='hd1,msdos1' 设置引导的根分区
linux /vmlinuz 这两步不是很清楚,估计是linux内核,跟入口点。
initrd /initrd.img 这个两个文件也不知道是什么内容,还希望大神解答。
boot 启动
至于grub引导nt内核的话,网上很多。grub跟grub2不同,有些命令好像没有。如rootnoverify。kernel好像换成了linux。
但是毕竟U盘的是linux live光盘。不能正常引导Linux。我弄了好久只能进BusyBox。用Bootice也折腾了很久,之后换方法了。
原料:
0.PE系统镜像,Linux系统镜像(我以Ubuntu14.04为例)
1.U盘(8G+),我这里用的是32G,现在比较普及了。
2.软件Unetbootin。这个是把Linux光盘镜像写到U盘的工具。
*3.UltraISO。作用是PE写到硬盘、U盘。这个不是必须的。
4.软件Bootice。修改引导的工具。
操作:
(0)开机,准备好材料。
(1) 把U盘(sdb)分区,(sdb1,sdb2)。我的是(4G Fat32,25G NTFS),Windows下只有sdb1才能盘符。sb2是看不到的。如果想Windows也能使用多些空间可以调整分区。(sdb1最好不要格式化为其他文件系统,Fat32单个文件不能超过4G,所以我格式化为4G,如果有需要可以更改分区大小)。
(2)用Unetbootin把下载好的Linux光盘镜像写到4G的sdb1上。可以看到Linux Live的一些文件syslinux.cfg,看到这个就知道怎么设置分区引导记录了。
(3)用UltraISO把PE系统的镜像写到sdb2上。当然PE系统其实可以直接拷贝到sdb2上的,由于Windows看不到sdb2,故此要用UltraISO写入,我本来就装了Linux Mint,sdb2是可以看到的,所以我不用UltraISO。PE系统至少有(boot/,bootmgr)(大白菜,老毛桃这些我想是不是要做成镜像再写入?,反正就把引导文件跟内核镜像放到一个分区就对了)
(4)bootice,选择磁盘为U盘,(千万不要选错!如果选错了,也没关系,相信你懂得把引导修复回去的)把主引导记录设置为Plop Boot Manager,这个东西真的是牛B哄哄啊。
(5)把分区引导记录sdb1,设置为syslinux(版本是4.07,这个不要弄错了),用syslinux 5.01好像进不去Unetbootin菜单。这步通常Unetbootin帮助完成了。
(6)把分区引导记录sdb2,设置为bootmgr。
打完收工。
分区可以随便一点,自己权衡Windows要多大的分区(建议把分区分得一个很大一个很小,这样一个分区可以放很大文件)。主要是要弄对系统对应的文件系统格式(像是bootmgr用NTFS也行,弄个EXT4的文件系统那就糟了,不保证sysllinux分区引导支持ntfs),系统对应分区引导记录。如果是把linux装到u盘的话,grub就可以。同时引导PE跟Linux。
吐槽:
0.想把PE装到sdb1,Linux Live CD装到sb2的,Windows下Bootice不能设置没有盘符的分区引导记录为syslinux。但是bootmgr行,只好反过来。这个真的很关键,而且空间利用得更加好(看第2点)。
1.不想把Ubuntu直接装到U盘,重复擦写Flash影响寿命,做成Linux Live CD是比较好的,避免了这个情况。
2.基于第1点,Linux Live CD是只读的,这就意味着当进去Linux Live CD的时候,分区是只读的!所以我才把sdb1分得小一点。当用Linux Live CD时,sdb2是可用的。
3.至于PE,本来sdb2就是不可见的。现在sdb可以引导进PE了,进入PE后sdb2也是不可见的,只是引导进PE而已。
要考点数据还是得转到Linux 系统,除非Windows支持U盘的第二分区了,看来我还是偏好Linux多一点啊。哈哈。。。