上一篇文章初步介绍了如何使用Grub2引导硬盘上的iso文件,这样就免除了刻录光盘或写进U盘的过程,但每一个Linux发行版的ISO镜像文件的Grub参数配置都不一样,所以本文介绍Grub2引导硬盘上的OpenSUSE ISO文件的参数配置。
Grub2引导OpenSUSE ISO镜像文件的方法 首先你的硬盘上要有一个已经安装好了的Linux发行版,并且用的是Grub2启动管理器.然后我们要编辑/etc/grub.d/40_custom这个文件。用nano或者vi文本编辑器打开。 sudo nano /etc/grub.d/40_custom 然后将下面的内容粘贴到文件末尾。 menuentry "OpenSUSE Leap 42.3" { insmod ntfs insmod iso9660 set isofile="/home/matrix/openSUSE-Leap-42.3-DVD-x86_64.iso" loopback loop (hd0,4)/$isofile linux (loop)/boot/x86_64/loader/linux install=hd:$isofile initrd (loop)/boot/x86_64/loader/initrd } 我用的是openSUSE-Leap-42.3-DVD-x86_64.iso这个镜像文件。 1.menuentry后面的文字将会显示在Grub2的启动项。 2.insmod ntfs用来加载ntfs模块,以支持NTFS文件系统。 3.insmod iso9660加载iso6660模块,以确保Grub能正确读取ISO镜像文件。 4.set isofile用来指定镜像文件的路径,最好是将镜像文件放在home目录下。 5.hd0,4表示第一块硬盘的/dev/sda4分区,如果你的镜像文件在/dev/sda1,那么将4改成1,硬盘分区不要加密。 6.第4行指/boot/x86_64/loader/linux指定了linux内核在镜像文件中的路径。install=hd:$isofile是将镜像文件作为安装系统时的软件库。 7./boot/x86_64/loader/initrd指定了initrd文件在镜像文件中的路径。
根据自己的情况修改以上内容。修改完后保存文件。然后更新Grub2启动项。 sudo update-grub 或者sudo grub-mkconfig -o /etc/grub/grub.cfg 重启系统后就能发现Grub2多了一个启动项.选择OpenSUSE这个启动项后就能引导ISO文件并安装系统了。 注意,Grub识别的硬盘顺序跟fdisk识别的硬盘顺序可能不同,/dev/sda可能不是Grub识别的第一块硬盘,可能是Grub识别的第二块硬盘。另外,如果ISO镜像文件存放在分区的根目录,则set isofile的值前面可以不加斜杠/。
如何找出Linux内核及initrd文件在镜像文件中的路径 Linux内核及initrd文件是启动的两个必要项目,要找出它们在镜像文件中的路径,首先用档案管理器(archive manager)打开镜像文件,ubuntu系统的档案管理器叫做file-roller。
打开后就能浏览镜像文件的内容了,OpenSUSE的linux内核文件在/boot/i386/loader或/boot/x86_64/loader这个目录下,在这个目录下也能找到initrd这个文件。
相关主题 |