Mil*_*čka 5 fedora dual-boot chroot grub2
我有一个常见问题:我在装有 Windows 的 PC 上安装了 Fedora 18。当我启动 PC 时,我不会被问到我想启动哪个系统,总是选择 Windows。
所以我发现我必须重新安装Grub2。所以我从 Live CD 启动并进入救援模式(e在 Grub2 中点击并添加single到以“linux..”开头的行中)。
那我应该做chroot /mnt/sysimage,但是没有这样的目录。当我做cd mntand 时ls,它是空的。所以我不知道如何更改root。当我这样做时fdisk -l,Fedora 安装在分区中/dev/mapper/fedora-root。
如何正确 chroot 进入 Fedora 安装并重新安装 Grub2?
首先要做的是确保您能够在您的模式下使用 Internet,因为如果您安装的系统不包含 grub,您可能需要它。有线连接的典型方法是列出您的接口:
ifconfig -a
Run Code Online (Sandbox Code Playgroud)
选择一个将您连接到 Internet 的(您应该能够分辨出来,它可能命名为eth0或em0)并dclient在其上运行,如下所示:
dhclient eth0&
Run Code Online (Sandbox Code Playgroud)
接下来要做的是挂载包含已安装 Fedora 的分区。为您的分区创建一个挂载点并将其挂载在那里:
mkdir /mnt/fedora
mount /dev/mapper/fedora-root /mnt/fedora
Run Code Online (Sandbox Code Playgroud)
如果你有一个引导分区(你知道如果你有的话),你也应该挂载它。您可以检查是否需要是否grep /boot /etc/passwd给您任何输出。如果它提供类似于/dev/sda1第一列的内容,您应该执行以下操作:
mount /dev/sda1 /mnt/fedora/boot
Run Code Online (Sandbox Code Playgroud)
然后绑定一些重要的目录 -/mnt/fedora首先转到,不要过度输入:
cd /mnt/fedora
mount -o bind /dev dev
mount -o bind /proc proc
mount -o bind /sys sys
mount -t tmpfs tmpfs tmp
Run Code Online (Sandbox Code Playgroud)
最后chroot:
chroot /mnt/fedora
Run Code Online (Sandbox Code Playgroud)
现在您应该检查您的/boot目录内容。它是否有一些名为vmlinuz, initrd,grub目录的文件grub.cfg?如果是这样,很好,您可以安装 grub - 假设您希望将其安装为 /dev/sda 的驱动器将是:
grub-install /dev/sda
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,则必须使用安装 GRUB yum install grub(不过,我不知道确切的包名称)。如果您没有 grub.cfg 文件,请运行:
grub-mkconfig -o /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)
为确定起见,您可能会再次安装 GRUB。
| 归档时间: |
|
| 查看次数: |
27689 次 |
| 最近记录: |