-
一、Ubuntu的安装与引导
以ubuntu-16.04-desktop-amd64.iso为例
1、提取引导文件和压缩内核
a) grub安装方法
提取casper文件夹中的initrd.lz和vmlinuz.efi(支持UEFI),将文件提取出来和ISO一起拷贝到一个fat32分区根目录(假设为第一个磁盘的第3个分区)。
修改grub菜单文件,增加一条,内容如下:
title Install Ubuntu 16.04
root (hd0,2)
kernel /vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-16.04-desktop-amd64.iso ro quiet splashlocale=zh_CN.UTF-8
initrd /initrd.lz
补充一下磁盘分区的知识:
在grub中,磁盘分区是从0,开始,例如磁盘2的分区3为(hd1,2),而在linux中,磁盘分区从1开始,例如磁盘2分区3为sdb3,在Windows中磁盘从C开始,第三分区就是E盘。
推测的分区位置可能与实际略有出入,在启动后标题处会有停留,确认后会寻找文件和引导,若是找不到会提示,返回标题后,按e键可以编辑neogrub内容,修改分区位置。例如将(hd0,1)改为(hd1,1),若是优盘很有可能就是(hd1,0),然后回车,再次尝试。
b) grub2安装方式
grub2可以直接加载大的iso镜像,不需要解压提取内核。
menuentry "Ubuntu 16.04" --class os{
set root=(hd0,msdos3)
loopback loop0 /ubuntu-16.04-desktop-amd64.iso
linux (loop0)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-16.04-desktop-amd64.iso ro quiet splashlocale=zh_CN.UTF-8
initrd (loop0)/casper//initrd.lz
}
需要注意的是,grub2的分区表达方式有所变化,分区从1开始了,例如第一个磁盘第一分区(mbr分区)为:(hd0,msdos1)