使用grub2制作U盘启动盘安装操作系统

回复 收藏
本帖最后由 renlifeng 于 2016-8-8 12:43 编辑

随着计算机网络技术的发展,目前越来越多的用户主机已经不再配置传统光驱等介质访问设备。操作系统的安装也越来越多的开始使用USB方式进行。Linux作为现代操作系统之一也提供了更为现代的安装模式。但一般情况下我们使用USB方式进行Linux系统安装前都需要将各个发行版本的 LinuxUSB安装镜像软刻录到U盘上,这样才能顺利完成安装。多数非专业用户操作起来有较大的难度,同时这样的安装方式也不便于系统管理员方便的进行操作,试想每次不同的Linux系统进行安装及救援时都需要先重新进行镜像的软刻录,费时费力。为了解决以上问题,Linux很多发行版本提供了使用Grub引导器直接引导ISO的模式,经过不断的测试发现该方式不但可以引导系统安装,同时也可以引导系统进入Linux救援模式以进行系统的紧急救援处理。
为什么要做U盘安装启动盘???
很久之前装 linux 时,做 usb 启动盘,比较麻烦。要用 unetbootin,usb creater 之类的工具。当然可以直接使用dd命令制作启动盘 。但是这些方法都有个痛点,就是要把u盘给格式化,或是覆盖擦写。而且现在的U盘容量越来越大,如果采用以上方式制作启动盘则大大浪费空间,以一个16G  U盘为例,普华服务器3.0 的ISO文件本来是4G,但是却要占用整个16G空间,所以造成资源的严重浪费。
另外grub2的 loopback 特性,可以直接引导ISO文件,只要给U盘安装个grub配置一下就OK了。

相比传统制作启动盘的优势:
1)不用格式化U盘
2)grub可以引导U盘中不同发行版的ISO
3)ISO更新,只要替换ISO文件就可以,依旧不用再折腾
4)不影响U盘的正常使用
CentOS 6及以前版本U盘启动方法
以普华服务器3.0系统为例(采用grub方式引导):1、确保U盘的文件系统是fat32或ext2,不能是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目录下的vmlinuz和initrd.img以及isolinux和images拷贝到U盘根目录
# mount -o loop iSoft-Server-OS-3.0-sp1-x86_64-rc.iso /dvd  
          # cd /dvd
# cp -a isolinux /mnt
# cp -a images  /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盘的文件系统是fat32或ext2(ext3、ext4),不能是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-install和grub2-install都为grub2命令,至于使用那个命令取决于不同操作系统,比如普华桌面3.0和4.0就使用grub-install,而普华服务器4.0则使用grub2-install命令来实现。
安装完grub后会在/mnt/boot目录下生成一个grub目录,然后进入grub目录可显示如下内容:
# cd /mnt/boot/grub
# ll
1.png

http:///tmp/aa.png4、在U盘上创建存放ISO文件的目录,并将相关ISO文件复制到相应目录中,本次测试共涉及iSoft Server 4.0、iSoft Server 3.0、iSoft Desktop 4.0、iSoft Desktop 3.0、Ubuntu 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还需要拷贝images和isolinux两个目录才可以进行安装,相关操作如下:
# mount -o loop /opt/iSoft-Server-OS-3.0-sp1-x86_64-rc.iso  /dvd
# cd /dvd
# cp  -r  images  isolinux  /mnt/iso/isoftserver3
5、安装好grub后是没有grub.cfg文件,此时U盘是可以启动的,但只会进入到grub>命令行中,为了便于操作我们可以创建grub.cfg文件来让它自动识别并启动相应操作系统,我的grub.cfg配置如下:
2.jpg

到此可以引导多系统的启动U盘制作完成。
另外需要注意的是针对各个发行版本操作系统的grub.cfg文件编写存在一定的差异,需要根据自己的需求查询相应发行版操作系统的wiki。
6、在机器上插入U盘,然后开机选择从U盘启动,等待进入grub启动界面,启动后进入如下界面:
http:///tmp/cc.png
3.jpg

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






bb.jpg cc.png
2016-08-08 11:24 举报
已邀请:
0

renlifeng

赞同来自:

本帖最后由 renlifeng 于 2016-8-8 12:45 编辑

0

jxcia2018

赞同来自:

直接用软碟通写一下就OK了。。。。
0

qidi2015

赞同来自:

你的方法好像挺复杂的
看看我的 http://hqidi.com/545.html
支持全自动安装。

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: