Vistb's Tiny IT Space

Am I a Geek?

导航

NTFS格式大容量双启动U盘制作

Posted on 2011-01-30 13:04  Vistb  阅读(2126)  评论(1编辑  收藏  举报

前几天搞了一个容量比较大的优盘,主要目的是用于安装、维护系统(随身带一大堆光盘太麻烦,而且灵活性也不如U盘),同时可以兼顾存放一定量的数据。这样,就可以做到“一盘在手,万事无忧”;哈哈,小夸张一下,大家见笑啦。言归正传,既然要安装、维护系统,可启动是必不可少的,WinPE也需要。但是,如果还想要个Linux呢,毕竟,维护Linux也是必须的啊(而且对于爱折腾的人来说,Linux启动不了后修复的需求和难度其实更大)。所以,就萌生了做一个WinPE、Linux双启动U盘的想法。同时,为了更好的安全性、稳定性以及突破单文件不能超过4GB的限制,文件系统决定使用NTFS。

首先选择WinPE和Linux的版本,WinPE使用深度五周年纪念版(顺便说一句,这个PE本身里面的内容很好,但深度官方给出的安装方法貌似有问题),Linux使用Ubuntu-10.10-desktop-amd64。大家可能会问为什么用Ubuntu。首先,在各个面向个人用户发行版中,这个使用率较高,社区、论坛相对完善;其次,相对Puppy、slax等面向U盘的发行版,这个功能更全、更完善。当然,选用其他版本的WinPE和Linux是完全可行的,只不过就不能照搬本文的内容,而需要结合本文执行探索,而且一定的Window和Linux系统知识也是必须的。

下载完上面的系统镜像后,我们要格式化我们的U盘(事先请备份重要数据)。 注意,这一步比较诡异,就是不要用Windows自带的格式化工具,会出问题(至少我的Windows Server 2008 R2不行),要用Linux下的工具。进入一个Linux系统(我的是ubuntu),插上优盘,在系统监视器里面确定优盘的设备文件名。打开终端,首先删除原分区建立新分区(下面代码中加粗部分为输入的命令,sdx代表你的优盘的设备文件名,如sdb;sdxY代表你的优盘的分区,如sdb1):

sudo fdisk /dev/sdx

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-125, default 1): 直接回车
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-125, default 125): 直接回车
Using default value 125

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 再格式化这个新NTFS分区:

sudo mkfs.ntfs -L label -Q /dev/sdxY
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.  

完成后,再向这个优盘写入grub4dos。grub4dos是著名的启动器grub的变种。在此处下载,我选择的是grub4dos-0.4.4-2009-06-20.zip。解压到某处,打开终端,进入所在目录,首先输入“chmod a+x

bootlace.com” 为bootlace添加执行权限,然后执行“./bootlace.com /dev/sdx”写入引导信息。如果看见类似Success之类的提示信息则表示MBR写入成功了。接下来,再将grub4dos文件夹下的grldr文件复制到优盘根目录下面。至此,你的优盘就是可启动的啦。

不过我们的工作还没有完成。下面要把WinPE和Ubuntu的文件放入优盘。首先,运行深度的那个WinPE的自解压文件,将所有文件安装到优盘根目录。然后,在优盘下建立一个名为ubuntu的文件夹,将下载的ubuntu的镜像文件放入其中。同时,用WinRAR打开那个镜像文件,将其casper文件夹下的vmlinuz和initrd.lz文件也放到这个名为ubuntu的文件夹中。

成功在即,为了使grub可以正确引导WinPE(通过ntldr),我们还要在此处下载一个名为loadbin的小程序,然后将其中的ldntldr.bin放在优盘文件的根目录。

最后,我们在优盘的根目录下新建一个名为menu.lst的文件,这个文件将指导grub如何载入。用记事本打开这个新建的文件,输入以下内容后保存:

timeout 30
default 0

title Windows PE
kernel  /ldntldr.bin
initrd  /ntldr

title Ubuntu 10.10 x64
kernel /ubuntu/vmlinuz iso-scan/filename=/ubuntu/ubuntu-10.10-desktop-amd64.iso boot=casper
initrd /ubuntu/initrd.lz

title Boot from 1st HDD
root (hd0,0)
chainloader +1

title Boot from 2nd HDD
root (hd1,0)
chainloader (hd1,0)+1

title Grub Commandline
commandline

title Reboot
reboot

title Halt
halt

 OK,大功告成了。重启并从优盘启动试试吧。