前面的一篇bolg里我已经说了两种方法,其中不好之处在于将U盘格式化为ext系列的文件爱你系统,这样在windows下就无法对U盘进行访问了。那U盘就失去了它的最主要的功能。下面我所要讲的方法只是将其格式化成为fat32的。所以U盘和U盘。
对原文进行了总结,增加一些其他系统的方法和其思路。对于不喜欢E文的同学,应该还是有那么一点作用的。但愿如此吧。
1. 首先修改U盘的分区表。打开终端,
sudo su.
fdisk -l #找到自己优盘对应的盘符。
fdisk /dev/sdX #X为你的U盘的标识。例如:/dev/sdb /dev/sdc这样的。
d #删除分区表。可能有多个,可以全部删掉。键入p查看。
n #建立一个新的分区表。
p #建立主分区。
其下两步回车。按照default就可以了。
a # 创建一个可引导的触发器。就是建立引导分区(我是这样理解的。)。
1
2. 格式化U盘为fat32。
umount /dev/sdX1
mkfs.vfat -F 32 -n MULTIBOOT /dev/sdX1
注意上面过程中都有1。
3. 写入GRUB2。
mkdir /mnt/MULTIBOOT
mount /dev/sdX1 /mnt/MULTIBOOT
grub-install --force --no-floppy --root-directory=/mnt/MULTIBOOT /dev/sdX
现在GRUB就被写到U盘上了,可是现在boot/grub里面还没有grub.cfg文件,我们可以用下面的方法获得。
cd /mnt/MULTIBOOT/boot/grub/
wget pendrivelinux.com/downloads/multibootlinux/grub.cfg
这个文件是别人写好的。
如果你要放一个ubuntu系统。将iso拷贝到U盘上,改名为ubuntu.iso
那样就能启动这个系统了。除了grub.cfg里面的系统,如果你想在上面放一个debian的。那么你可以这么做。
menuentry "Debian ISO" {
loopback loop /debian.iso
linux (loop)/install.386/vmlinuz boot=install.386 iso-scan/filename=/debian.iso noeject noprompt splash --
initrd (loop)/install.386/initrd.gz
}
加入到grub.cfg文件里面。可能有的debian的发行版会不一样,只要找到vmlinz和initrd.gz.或者其他的内核文件,即可。这里的loogback建立回放设备,这样进入iso里面了。
如果你熟悉从GRUB中,自己找root,自己启动系统,你就应该懂我的意思的。grub.cfg中的镜像都可以从我给的链接中下载。
ubuntu 10.10
wget "releases.ubuntu.com/10.10/ubuntu-10.10-desktop-i386.iso" -O ubuntu.iso
linuxmint ISO
wget ftp.heanet.ie/pub/linuxmint.com/stable/10/linuxmint-10-gnome-cd-i386.iso -O linuxmint10.iso
dban ISO
wget
"downloads.sourceforge.net/project/dban/dban/dban-2.2.6/dban-2.2.6_i586.iso?r=&ts=1292340298use_mirror=surfnet"
-O dban.iso
Tinycore Linux ISO
wget "distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/tinycore-current.iso" -O tinycore.iso