免责声明:我是新手,我需要一步一步的指导。谢谢!
我想要首先安装grub没有操作系统,因为它将从ISO文件从本地网络存储引导。我被引导到一个liveCD (我不能安装它,因为我需要一个不稳定的系统),我已经被困在第一阶段。我尝试过grub-install /dev/sda
,但是我说grub-install: error: cannot open directory '/boot/grub/i386-pc': No such file or directory.
时出错了
所以我创建并复制了grub-install
所需的所有文件,现在它说grub-install: error: failed to get canonical path of 'aufs'.
我搜索了web并计算出大多数答案都要求我使用chroot,而我已经安装了一个系统(虽然可能会被破坏),我没有将Ubuntu安装到任何驱动器,我的目标是将grub从liveCD安装到空驱动器。
我想从一个空的引导加载程序开始。
我该怎么做?
再次提前感谢。
发布于 2021-01-26 15:39:36
如果只是引导ISO,您就不应该需要完整的Linux文件结构。我已经安装了不同格式的grub闪存驱动器,并在同一闪存驱动器上启动了ISO。不确定网络启动所需的grub引导节。
我有一个旧的USB2闪存盘,我改造了它。我首先做的是gpt,因为比起现在已有40年历史的MBR分区,我更喜欢它。你可以像我通常做的那样使用光圈。在设备下选择gpt,启动前先在msdos(MBR)上进行默认分区。或使用分隔或gdisk。注:这完全擦除驱动器。sdX是你的闪存。
sudo parted /dev/sdX mklabel gpt
然后,我在大型FAT32分区上使用gparted创建。我必须重新启动才能正确地看到它&文件浏览器不自动挂载ESP分区,所以使用磁盘或手动挂载。
Model: Kingston DataTraveler 2.0 (scsi)
Disk /dev/sdc: 1998MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1998MB 1996MB fat32 esp2 msftdata
然后我用磁盘挂载它,然后它在/media/fred中:
/dev/sdc1 on /media/fred/FC87-F75C type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
然后安装grub。我的驱动器被认为是sdc。就像旧的USB2闪存一样慢。
sudo grub-install --根目录=/media/fred/FC87 87-F75C /dev/sdc
它创建了结构和普通/EFI/ubuntu/grub.cfg,这是一个在/boot/ grub /grub.cfg中填充grub的3行configfile。但是没有创建任何/ boot /grub/grub.cfg引导文件。我通常会手动创建一个来引导本地ISO,使用这些引用&我以前的注释。您必须创建一个grub.cfg,但是使用path &挂载吗?转到网络。
ISO引导&链接到示例
https://help.ubuntu.com/community/Grub2/ISOBoot
更多的例子
https://help.ubuntu.com/community/Grub2/ISOBoot/Examples
我用谷歌找到的网络grub信息。nfs将不起作用,但有一个用于网络引导的示例。
https://unix.stackexchange.com/questions/631048
复制相似问题