云网牛站
所在位置:首页 > Linux安装 > 使用Grub2引导硬盘上的OpenSUSE ISO镜像文件并安装系统

使用Grub2引导硬盘上的OpenSUSE ISO镜像文件并安装系统

2017-12-08 15:31:18作者:linux大神稿源:linuxdashen

上一篇文章初步介绍了如何使用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引导硬盘上的OpenSUSE ISO镜像文件并安装系统

根据自己的情况修改以上内容。修改完后保存文件。然后更新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。

使用Grub2引导硬盘上的OpenSUSE ISO镜像文件并安装系统

打开后就能浏览镜像文件的内容了,OpenSUSE的linux内核文件在/boot/i386/loader或/boot/x86_64/loader这个目录下,在这个目录下也能找到initrd这个文件。

使用Grub2引导硬盘上的OpenSUSE ISO镜像文件并安装系统

 

相关主题

关于SUSE Linux你应该知道的几件事

精选文章
热门文章