grub4dos打造全能u盘

grub4dos打造全能u盘

在virtualbox中使用u盘启动的方法 (参考virtualbox帮助文档Using a raw host hard disk from a guest
将u盘虚拟化为硬盘,然后设置为优先启动。
涉及命令:(XXX为u盘)

  sudo usermod -G vboxusers -a `whoami`
  sudo chmod o+rw /dev/XXX
  VBoxManage internalcommands createrawvmdk -filename /home/landyking/.VirtualBox/UsbDisk.vmdk -rawdisk /dev/XXX
  VBoxManage storageattach linux-ssh –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium /home/landyking/.VirtualBox/UsbDisk.vmdk

然后就启动VirtualBox,在需要测试的虚拟机设置里的“硬盘”一页,换成刚才那个vmdk文件,如果不是建立在“~/.VirtualBox/VDI/”的话要用虚拟介质管理器注册一下。
最后把硬盘设置成优先启动就搞定啦。

安装win7/vista

  1. 将安装光盘或镜像中的所有文件拷贝到u盘根目录中.
    至少包含:

    bootmgr(file)
    boot(directory)
    sources(directroy)
    
  2. 编辑menu.lst,增加内容如下

    #———————-
    title Install Windows 7
    root (hd0,0)
    chainloader (hd0,0)/bootmgr
    #————————–
    

3.从u盘启动,选择‘Install Windows 7′,进入windows boot manager开始安装。

安装Fedroa dvd

  1. iso中的imagesisolinux两个文件夹解压到Fedroa文件夹中,将iso文件也放到Fedora文件夹中.
    在menu.lst最后添加:

    ###############################
    title Linux setup
    root (hd0,0)
    kernel /isolinux/vmlinuz
    initrd /isolinux/initrd.img
    ###############################
    
  2. 在bios里设置首先从usb启动,重启系统选择Linux setup开始安装,在安装到选择镜像的时候选择本地硬盘

安装Fedroa livecd

  1. 分区,用Partition Manager 生成一个fat32格式的分区(如I盘),用来存放iso文件,生成磁盘后,将这个盘命名为fedora( 下面有用)(磁盘,右键,属性,常规)

  2. 下载 fedora 的ISO文件 这里,放到 I盘,用winrar将 fedora的ISO文件中的isolinux和LiveOS目录解压到I盘根目录

  3. 下载安装 grub for windows,安装后在运行grub,点击Tools,Partition List,查看I盘的Name,如我的(hd0,6).
    进入C:\Grub, 将以下代码添加到 MENU.LST

    title Fedora Live CD
    kernel (hd0,6)/isolinux/vmlinuz0 root=live:LABEL=FEDORA liveimg quiet rhgb rootfstype=auto vga=791
    initrd (hd0,6)/isolinux/initrd0.img
    

    保存。

  4. 重启,进入grub,选中 Fedora Live CD如果没有问题,就可以进入Fedora了。
    注意:ISO文件要放在fat32格式(ntfs我没有测试过),要放在根目录,在isolinux 和 LiveOS 解压出来也要放在根目录。
    我曾出现过 no root device found这是因为没有找到启动设备(我猜是没有找到ISO文件),这时注意,上面的代码要对应好。

代码解析:
title Fedora Live CD //在Grub中显示的字符,可以随便写(英文,自己记住就行了)
kernel (hd0,6)/isolinux/vmlinuz0 root=live:LABEL=FEDORA liveimg quiet rhgb rootfstype=auto vga=791
// 这里很重要, (hd0,6)就是上面用Grub,Tools,Partition List查出的I盘的Name,root=live:LABEL=FEDORA ,这里的FEDORA

就是上面的I盘的名字,一定要对应。vga=791就是屏幕的分辨率为1024*768 ,

initrd (hd0,6)/isolinux/initrd0.img // (hd0,6) 就是对应I盘,同上。

引导winPE

  1. 把下载下来的PE文件解包,然后,复制 MINIPE文件夹,WINNT.XPE 到U盘根目录,将WXPE文件夹下的SETUPLDR.BIN ,NTDETECT.COM这两个文件也复制到U盘的根目录,然后把SETUPLDR.BIN改名为NTLDR。

  2. menu.lst的设置: grub4dos-0.4.4.zip自带的menu.lst里已有启动项设置:

    ###############################################
    title find and load NTLDR of Windows NT/2K/XP
    fallback 1
    find –set-root /ntldr
    chainloader /ntldr
    savedefault –wait=2
    ##############################################
    

    如果没有则加上这段

引导dos

title 98dos
find –set-root –ignore-floppies /98dos/win98j.IMA
map –mem /98dos/win98j.IMA (fd0)
map –hook
chainloader (fd0)+1
rootnoverify (fd0)

如何知道文件在硬盘上是连续存放的呢?
在grub4dos下输入命令:
blocklist filename
比如:blocklist /ubuntu-9.10-desktop-amd64.iso
我的显示的结果是:(hd0,8)640+1414752
这表明只有一个块,如果后面还跟着逗号,比如:(hd0,8)640+1414752,1515752+8
这就是两个块,不是连续存放的。

你可能感兴趣的:(grub4dos打造全能u盘)