利用grub2制作多启动U盘
2015-07-01 12:30
288 查看
很久以前就做过一个基于grub2的多启动u盘,但是没有做记录,这一次做个记录,供大家参考,也做个备忘。
以前只是做到了从U盘安装Ubuntu,以及通过pe安装win,这次还整合了CentOS(我只试验了CentOS7,其它版本估计不行,因为其它版本不是用的grub2引导)。
以前比较菜,只能按照教程一步步来,虽然现在也很菜,但是感觉懂得多了一点。
以前以为要做多启动盘时,u盘只能有一个分区,现在发现不是的,只需要将grub2装到一个分区就行了,这次我在自己的移动硬盘上分了一个区出来,也装上了。
下面开始安装吧。
一个Ubuntu操作系统(livecd启动的也行)
一个pe的ISO及若干操作系统镜像(UbuntuLiveCD、CentOS7LiveCD)
下面开始正式安装,一下操作均在Ubuntu中进行
winpe的启动需要一个特殊的文件叫做memdisk,大家可以上网百度一下,如果找不到可以Email我,我发给你(407778367@qq.com)
以下是我的配置
以前只是做到了从U盘安装Ubuntu,以及通过pe安装win,这次还整合了CentOS(我只试验了CentOS7,其它版本估计不行,因为其它版本不是用的grub2引导)。
以前比较菜,只能按照教程一步步来,虽然现在也很菜,但是感觉懂得多了一点。
以前以为要做多启动盘时,u盘只能有一个分区,现在发现不是的,只需要将grub2装到一个分区就行了,这次我在自己的移动硬盘上分了一个区出来,也装上了。
下面开始安装吧。
原材料
一个足够大的U盘(或者一个移动硬盘也行)一个Ubuntu操作系统(livecd启动的也行)
一个pe的ISO及若干操作系统镜像(UbuntuLiveCD、CentOS7LiveCD)
下面开始正式安装,一下操作均在Ubuntu中进行
格式化U盘
#查看一下磁盘情况
shell>>fdisk-l
#umount要格式化的磁盘,我使用的是/dev/sdc3
#如果没有挂载,没有这一步操作
shell>>umount/dev/sdc3
#格式化
shell>>mkfs.vfat-F32-nMULTIBOOT/dev/sdc3
安装grub2到/dev/sdc3
#挂载/dev/sdc3
shell>>mkdir-p/media/MULTIBOOT
shell>>mount/dev/sdc3/media/MULTIBOOT
#安装grub2,注意这个命令中最后使用的/dev/sdc,而不是/dev/sdc3
shell>>grub-install--force--no-floppy--boot-directory=/media/MULTIBOOT/dev/sdc
shell>>cd/media/MULTIBOOT
#获取grub.cfg
shell>>wgetpendrivelinux.com/downloads/multibootlinux/grub.cfg
把ISOcopy到u盘
首先需要在U盘根目录下创建一个文件夹叫ISO,然后将ISO拷贝到这个目录下。winpe的启动需要一个特殊的文件叫做memdisk,大家可以上网百度一下,如果找不到可以Email我,我发给你(407778367@qq.com)
配置grub.cfg
需要启动某个系统,只需要将对应的镜像拷贝ISO目录下,并在在grub.cfg中配置即可。以下是我的配置
#Thisgrub.cfgfilewascreatedbyLance'target='_blank'>http://www.pendrivelinux.com[/code] #SuggestedEntriesandthesuggestor,ifavailable,willalsobenoted.settimeout=10setdefault=0menuentry"WinPE"{linux16/ISO/memdiskisoinitrd16/ISO/winpe.iso}menuentry'Ubuntu14.04.2(64)'{setisofile="/ISO/ubuntu-14.04.2-desktop-amd64.iso"loopbackloop$isofilelinux(loop)/casper/vmlinuz.efiboot=casperiso-scan/filename=$isofilenopromptnoejectquietsplashpersistent--initrd(loop)/casper/initrd.lz}menuentry'CentOSLinux71503Live'--classfedora--classgnu-linux--classgnu--classos{insmodloopbacksetiso_path="/ISO/CentOS-7-x86_64-LiveCD-1503.iso"loopbackloop$iso_pathlinux(loop)/isolinux/vmlinuz0iso-scan/filename=$iso_pathroot=live:CDLABEL=CentOS-7-livecd-x86_64rootfstype=autoroquietrd.live.imagenoejectrhgbrd.luks=0rd.md=0rd.dm=0initrd(loop)/isolinux/initrd0.img}#menuentry"UbuntuDesktopISO(32)"{#loopbackloop/ubuntu.iso#linux(loop)/casper/vmlinuzboot=casperiso-scan/filename=/ubuntu.isonoejectnopromptsplash--#initrd(loop)/casper/initrd.lz#}重启电脑,测试一下
现在可以重启电脑,测试一下了。参考文章
http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ http://blog.chinaunix.net/uid-14735472-id-4211274.html
相关文章推荐
- Java 递归解决 "汉诺塔" 问题
- UIScrollView 和UIPageControl 实现app启动滑动图
- HDU 4828 (卡特兰数+逆)
- linux集群时间同步
- poj 1021 2D-Nim 模拟
- Java Jersey2使用总结
- sed 删除换行符
- 花生壳如何实现远程监控
- Java:Math类中的常用方法
- 让RelativeLayout,LinearLayout整个布局实现响应点击事件
- [leetcode][math] Sqrt(x)
- 5.数据库管理(1)
- Java:String类的常用方法
- 分享 ASP.Net 网站设置 404错误跳转到指定页面的三种方法
- 多线程编程
- 算法导论(CLRS)答案
- 实战FFmpeg编译支持arm64(转)
- 更改Linux用户的登录shell环境
- DOM元素尺寸offsetWidth,scrollWidth,clientWidth等详解
- struts2学习笔记