随着计算机网络技术的发展,目前越来越多的用户主机已经不再配置传统光驱等介质访问设备。操作系统的安装也越来越多的开始使用USB方式进行。Linux作为现代操作系统之一也提供了更为现代的安装模式。但一般情况下我们使用USB方式进行Linux系统安装前都需要将各个发行版本的 LinuxUSB安装镜像软刻录到U盘上,这样才能顺利完成安装。多数非专业用户操作起来有较大的难度,同时这样的安装方式也不便于系统管理员方便的进行操作,试想每次不同的Linux系统进行安装及救援时都需要先重新进行镜像的软刻录,费时费力。为了解决以上问题,Linux很多发行版本提供了使用Grub引导器直接引导ISO的模式,经过不断的测试发现该方式不但可以引导系统安装,同时也可以引导系统进入Linux救援模式以进行系统的紧急救援处理。

为什么要做U盘安装启动盘???

很久之前装 linux 时,做 usb 启动盘,比较麻烦。要用 unetbootinusb creater 之类的工具。当然可以直接使用dd命令制作启动盘 。但是这些方法都有个痛点,就是要把u盘给格式化,或是覆盖擦写。而且现在的U盘容量越来越大,如果采用以上方式制作启动盘则大大浪费空间,以一个16G  U盘为例,普华服务器3.0 ISO文件本来是4G,但是却要占用整个16G空间,所以造成资源的严重浪费。

另外grub2的 loopback 特性,可以直接引导ISO文件,只要给U盘安装个grub配置一下就OK了。

 

相比传统制作启动盘的优势:

1)不用格式化U

2grub可以引导U盘中不同发行版的ISO

3ISO更新,只要替换ISO文件就可以,依旧不用再折腾

4)不影响U盘的正常使用

CentOS 6及以前版本U启动方法
以普华服务器3.0系统为例(采用grub方式引导):1、确保U盘的文件系统是fat32ext2,不能是NTFS格式

# fdisk /dev/sdb

# mkfs.vfat  /dev/sdb1

2、U盘插到服务器上并挂载

# mount /dev/sdb1 /mnt 

3、U盘上安装启动grub

# grub-install --root-directory=/mnt   /dev/sdb

4、iSoft Server 3.0安装光盘isolinux目录下的vmlinuzinitrd.img以及isolinuxp_w_picpaths拷贝到U盘根目录

mount -o loop iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /dvd  

  # cd /dvd

# cp -a isolinux /mnt

# cp -a p_w_picpaths  /mnt

# cd isolinux

# cp vmlinuz  /mnt

# cp initrd.img /mnt 

5、将手头的普华服务器系统盘iso文件也拷贝到U盘的根目录

#cp iSoft-Server-OS-3.0-sp1-x86_64-rc.iso  /mnt

6、在机器上插入U盘,然后开机选择从U盘启动,等待进入grub命令行7、引导内核

grub > kernel /vmlinuz

8、初始化内存文件系统

grub > initrd /initrd.img

9、启动安装进程

grub > boot

10、最后根据提示安装即可

CentOS 7及以版本U安装方法

以普华服务器4.0系统为例(采用grub2方式引导):

目前在各大Linux发行版本中基本都采用grub2的方式来引导并启动系统,至于它的强大这里就不多说了,如果对grub2感兴趣的同学可以参考:http://www.gnu.org/software/grub/manual/grub.html#Configuration,或者通过百度和Google来学习相关知识。基本上任何操作系统都有可能通过它引导起来,而且引导界面可定制、彩色菜单、图片背景显示都不在话下。

说明:以下所有命令是在普华桌面3.0上进行操作的

1、确保U盘的文件系统是fat32ext2ext3ext4),不能是NTFS格式,由于某些系统的IOS文件可能大于4G,所以我们需要将U盘格式化成ext2格式

# fdisk /dev/sdb

# mkfs.ext2  /dev/sdb1

2、将U盘插到服务器上并挂载

# mount /dev/sdb1 /mnt 

3、U盘上安装启动grub

# mkdir  /mnt/boot 

# grub-install --boot-directory=/mnt/boot   /dev/sdb 

或者

# grub2-install --boot-directory=/mnt/boot   /dev/sdb 

以上grub-installgrub2-install都为grub2命令,至于使用那个命令取决于不同操作系统,比如普华桌面3.04.0就使用grub-install,而普华服务器4.0则使用grub2-install命令来实现。

安装完grub后会在/mnt/boot目录下生成一个grub目录,然后进入grub目录可显示如下内容:

# cd /mnt/boot/grub

# ll

wKioL1eoD8ChJWh1AAA9JztX2Wk120.png-wh_50 

4、U盘上创建存放ISO文件的目录,并将相关ISO文件复制到相应目录中,本次测试共涉及iSoft Server 4.0iSoft Server 3.0iSoft Desktop 4.0iSoft Desktop 3.0Ubuntu Desktop 14.04 五个发行版操作系统,基本可以涵盖目前我们公司相关产品。 

# mkdir  /mnt/iso

# cd /mnt/iso

# mkdir  isoftdesktop3 isoftdesktop4 isoftserver3 isoftserver4 ubuntudesktop

# cp /opt/iSoft-Server-OS-4.0-x86_64-201605251631.iso  /mnt/iso/isoftserver4

# cp /opt/isoft-desktop-v4.0-rc3-x86_64.iso /mnt/iso/isoftdesktop4

# cp /opt/isoft-desktop-v3.0-x86_64.iso  /mnt/iso/isoftdesktop3

# cp /opt/ubuntu-14.04.1-desktop-amd64.iso /mnt/iso/ubuntudesktop

# cp /opt/iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /mnt/iso/isoftserver3

这里需要注意iSoft Server 3.0还需要拷贝p_w_picpathsisolinux两个目录才可以进行安装,相关操作如下:

# mount -o loop /opt/iSoft-Server-OS-3.0-sp1-x86_64-rc.iso  /dvd

# cd /dvd

# cp  -r  p_w_picpaths  isolinux  /mnt/iso/isoftserver3 

5、安装好grub后是没有grub.cfg文件,此时U盘是可以启动的,但只会进入到grub>命令行中,为了便于操作我们可以创建grub.cfg文件来让它自动识别并启动相应操作系统,我的grub.cfg配置如下:

wKioL1eoD9XgHGKmAAOcatsoYrY526.jpg-wh_50 

 

到此可以引导多系统的启动U盘制作完成。

另外需要注意的是针对各个发行版本操作系统的grub.cfg文件编写存在一定的差异,需要根据自己的需求查询相应发行版操作系统的wiki

6、在机器上插入U盘,然后开机选择从U盘启动,等待进入grub启动界面,启动后进入如下界面:wKiom1eoD-7AlndeAAfPuWvFJSE349.png-wh_50

然后根据自己的安装需要安装相应的操作系统即可。