GRUB2引导ISO

GRUB2下引导ISO镜像文件


在没有U盘的情况下,Windows系统由于对c盘进行了磁盘压缩,导致windows无法正常启动。
与此同时,我的电脑下同时存在着DEEPIN深度的LINUX 操作系统,想到用GRUB2引导WINPE来恢复系统。
于是就查阅资料。

  • 1.我的电脑用BCD.
  • 2.GRUB2不支持GRUB那样的map操作来引导ISO文件。但能通过memdisk来引导。

memdisk 是什么?
memdisk能够启动某些软盘镜像,硬盘镜像,光盘镜像,通常是一些只读的live CD。
memdisk在内存的高地址区模拟出一个磁盘,在低地址区模拟出它自己使用的驱动,然后调用int13(磁盘驱动),int15(内存查询)bios中断。

  • 3.然后用memdisk引导iso文件,就有了下面的命令:
	menuentry 'Boot Windows 8 PE ISO'{
	set root='(hd0,msdos1)'
	echo 'Loading Memdisk...'
	insmod memdisk
	linux16 /boot/memdisk iso raw
	echo 'Loading ISO...'
	initrd16 /boot/WinPE.iso
	}				

将上面的东西塞入GRUB2的配置文件中,通常是在根目录下的boot中的GRUB(或者GRUB2)目录中的grub.cfg,用管理员权限打开在在启动项那个区域添加以下几行就可以了。
注意:在其中的 set root=’(hd0,msdos1)‘要注意hd0为你的硬盘编号,msdos1为我的分区在MBR记录表中的位置。
set root=’(hd0,msdos1)'这是设置根目录的地方,
在上面的代码,设置的是文件放在(hd0,msdos1)的硬盘分区下,你的Windows PE要放在第二个分区中的boot目录下。
注意区分大小写!

要使用memdisk,需要一个叫syslinux的包,这个包通常在linux系统(Deepin, CentOS, Ubuntu…)中找到,可以直接在的linux系统里/usr/local/share/syslinux…类似的目录中拷贝一份,当然也可以到syslinux的官方网站去下载。
在测试时发现当.iso文件大于1G时,ISO文件无法加载,所以只能挂比较小的ISO文件,比如Linux 的live,winpe等。


附:
memdisk的官方英文文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值