您的位置:首页 > 运维架构 > Linux

打造USB系统维护盘(GRUB,PE),U盘安装ubuntu、fedora、linux、windows

2013-04-15 21:49 671 查看
转自:

http://www.owent.net/2011/01/%E6%89%93%E9%80%A0usb%E7%B3%BB%E7%BB%9F%E7%BB%B4%E6%8A%A4%E7%9B%98%EF%BC%88grub%EF%BC%8Cpe%EF%BC%89%EF%BC%8Cu%E7%9B%98%E5%AE%89%E8%A3%85ubuntu%E3%80%81fedora%E3%80%81linux%E3%80%81windows.html

系统维护盘主要有两种,一种是DOS+PE等等等等的。

有一个NB的维护工具套件叫


专业电脑维护盘CD版

地址:http://bbs.deepin.org/viewthread.php?tid=1677233&extra=&page=1

下载来以后使用UltraISO打开然后点写入硬盘镜像选项,然后



写入方式和便捷启动这里设置成主板支持的启动方式即可,制作这种维护盘需要注意的是U盘要量产。量产的方法是下载个ChipGenius,然后检查U盘芯片厂家,然后去下个对应芯片的量产工具。量产的时候要注意打开从USB启动的功能。

这里提供一个量产工具的下载地址:http://www.drv5.cn/

镜像写入完后就可以尝试从U盘启动了。

对于使用Linux的开发人员来说,以上维护盘是不能维护ext3和ext4、BTRFS文件系统的,所以我们需要更加强大的维护盘。

首先,有这么几种工具(点击进入官网):

Universal-USB-Installer(推荐,支持Linux和Windows安装U盘的制作)

Windows 7 USB/DVD download tool(微软官方的U盘Win7安装制作工具,仅支持可移动磁盘和Windows)


LiveUSB Install(新玩意,还不错)

LinuxLive USB Creator(很漂亮)

MultiBootISO(支持多系统)

unetbootin(DIY很好,很稳定,有点老了)

http://www.pendrivelinux.com/里有完整制作教程。

这几种工具可以把几种主流Linux系统安装ISO写入移动设备。全部都有Windows下版本,除LinuxLive USB Creator外都有Linux版本。MultiBootISO支持把Windows安装盘写入移动磁盘。我只试过unetbootin、Universal-USB-Installer,但是使用良好。



unetbootin 界面



Universal-USB-Installer 界面
制作完后就能通过USB进入Linux安装界面或者Demo系统了。在demo系统内可以进行维护。

如果是Fedora的DVD的ISO制作安装U盘,由于默认是在线安装,所以首先要做一些改动来设置成离线安装。

把Fedora-[版本号]-[版本名]-DVD.iso复制到U盘根目录;
修改U盘/syslinux/syslinux.cfg,改成append initrd=initrd.img linux askmethod;
开机,从U盘启动,在“Installation Method”界面选择“Hard driver”,然后选择U盘。对于如何找U盘的分区地址见下文。

接下来是关键,如何在windows内安装linux和在linux的demo系统中安装windows。

这里又涉及两款工具:

Grub2 下载地址:http://www.gnu.org/software/grub/

Grub4Dos 下载地址:http://download.gna.org/grub4dos/

Grub2是因为Grub2很强大,几乎主流Linux都用它引导,Grub4Dos是因为Grub2不能直接引导Windows启动项的bootmgr和Windows的bootmgr不能启动Grub2。以下Linux已ubuntu为例。

1.在Windows下硬盘安装Ubuntu linux,方法很简单复制iso文件;

2.解压里面的grldr和grldr.mbr保存在,其他文件不需要,第二个文件是NT6系统下用的;

3.修改 c:\boot.ini,写命令,记住装完后这里面的东西要还原;

[boot loader]

timeout=3

default=c:\grldr.mbr

[operating systems]

c:\grldr.mbr=”install Ubuntu”

4.重启机器,选择install Ubuntu,系统会进入ubuntuLive系统界面,在grub4dos界面写入以下代码:

root (hd0,6) #(对应放Ubuntu的ISO文件磁盘,hd0是第一磁盘,6是分区号)

kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-i386.iso quiet splash ro

initrd /initrd.gz #这句要注意查看iso文件中casper目录下对应文件的后缀名)

boot

5.安装前要记得虚拟ISO设备,命令是:

sudo umount -l /isodevice

使用之前制作好的USB设备可以直接安装。

接下来是安装Windows

1. 首先把Windows的ISO文件内容完整复制到某个磁盘;

2. 再把Grub4Dos里的grub.exe文件也复制到磁盘;

3. 重启进入Grub2(本地)选单,按c进入命令行模式;

4. 写命令通过grub4dos进入windows安装

insmod ntfs #启动NTFS支持,不过貌似自动启动的

set root=”(hd0,msdos5)” #(注意这里是grub4dos的磁盘)

linux /grub.exe #(启动Grub4Dos)

boot

5. 在Grub4Dos中的命令

root (hd0,4) #(这是Windows的安装文件磁盘)

chainloader /bootmgr

boot

然后就可以打开Windows安装程序了。

6. 安装完Windows后,可能会覆写掉Grub2的启动,可以通过Live CD来重写Grub2引导

sudo –i #打开管理员权限

mount /dev/sda4 /mnt #/dev/sda4是Ubuntu安装磁盘

mount /dev/sda4/boot 分区 /mnt/boot #boot的目录(如果有的话)

#挂载你其他的分区,如果有的话

# 重建grub到sda的mbr

grub-install –root-directory=/mnt /dev/sda #(注意root前面是两个减号,不知道为什么显示出来就是一个了)

7. 进入Linux后在终端运行sudo update-grub 即可完全恢复Grub2引导Windows和Linux系统

注意:

以上方法设计两个问题,我怎么知道我的Linux安装在那个磁盘呢?我怎么知道在Grub里磁盘的编号?

解决方法很简单,在grub2和grub4dos里,可以在写root之后,可以按 Tab 键查看可选的硬盘和磁盘,如:root(hd0,+[Tab] root(hd,+[Tab] (方括号里的是按键不是代码)。而查看磁盘文件和目录名是 ls (hd0,msdos4)/ 查 看磁盘内的文件 ,对,就和Linux终端的命令一样,但是注意要加“/”,否则是查看磁盘信息不是文件名了。然后看文件里有没有/bootmgr或者grub.exe什么的就可以了。

在Linux的Live CD中 有个磁盘管理工具,打开就可以确定/dev/sda
是安装Ubuntu的目录,或哪一个是/boot的目录了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: