AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 464543
Accepted
gjvatsalya
gjvatsalya
Asked: 2018-08-24 18:23:11 +0800 CST2018-08-24 18:23:11 +0800 CST 2018-08-24 18:23:11 +0800 CST

Windows 安装后,Fedora 不再启动。出现错误:找不到文件“/vmlinuz”。如何修复引导?

  • 772

我必须安装 Windows 10。因为安装时遇到困难,我拔掉了前两个驱动器(其中包含 Fedora 数据)。因此,只需插入一个硬盘驱动器,我就能成功安装 Windows。

现在,我已插入所有驱动器。我能够让 Windows 正常启动,但 Fedora 不再启动。

这是我从 grub 中选择 Fedora 时的错误:

错误:没有这样的设备:3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2

错误:找不到文件'/vmlinuz-4.13.9-300.fc27.x86_64'。

错误:您需要先加载内核。

所以,我四处搜索并找到了这个问题,但老实说,我并没有完全理解答案。无论哪种方式,我都按下c了 grub 命令行。当我在ls命令行上输入时,我看到:

(lvm/fedora_hdd-swap) (lvm/fedora_sdd-root) (lvm/fedora_sdd-home) (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1, gpt12) (hd1,gpt11) (hd2) (hd3) (hd3,gpt4) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1)

现在,当我输入 时ls (lvm/fedora_hdd-root)/,我确实看到了所有必要的 linux 文件,例如 /boot、/etc 等。所以我的文件是安全可靠的,我只需要正确配置 grub,我假设?

当我回到 grub 并键入e以编辑 Fedora 列表时,我看到:

getparams 'Fedora (4.13.9-300.fc27.x86_64) 27 (Workstation Edition)
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=achi0,gpt2 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
    else
        search --no-floppy --fs-uuid --set=root 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
    fi  

我认为根据我在 grub 命令行中看到的内容,我应该相应地编辑列表。

fedora boot
  • 1 1 个回答
  • 2413 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2018-08-25T01:05:01+08:002018-08-25T01:05:01+08:00

    GRUB 并不真正关心您的 Linux 根分区。只有 Linux 内核关心这一点。GRUB 想要找到的是包含/boot文件系统的分区。由于各种原因,GRUB 将其称为“GRUB 根文件系统”。

    错误消息中的内核路径名error: file '/vmlinuz-4.13.9-300.fc27.x86_64' not found没有/boot前缀。这告诉我你/boot可能是一个单独的文件系统,并且set root='hd0,gpt2'引导 Fedora 的 GRUB 配置中的行告诉我它曾经是某个 GPT 分区磁盘上的第二个分区。

    如果您键入ls (lvm/fedora_hdd-root)/boot/,您可能会发现它只是一个空目录。它用作实际/boot文件系统的挂载点。

    还有文件系统 UUID,但错误消息error: no such device: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2表明它找不到。

    我的猜测是,在最好的情况下,驱动器检测顺序可能已经改变,而过去的hd0,gpt2可能现在是hd3,gpt2.

    在最坏的情况下,您的/boot分区实际上位于您安装 Windows 10 的磁盘上,并且 Windows 安装覆盖了该分区。但是一个/boot分区相对容易替换:你需要从 Fedora 安装媒体启动到救援模式,使用启动菜单选项Troubleshooting->Rescue a Fedora system或inst.rescue启动选项。

    救援模式启动后,它应该为您提供命令提示符。如果一切顺利,您的 Fedora 系统应该已经安装在/mnt/sysimage. 因此,首先使用一个chroot /mnt/sysimage命令,这样您就不必/mnt/sysimage为所有路径名添加前缀,并且您将能够使用正常的包管理工具。

    现在您可以创建一个新/boot分区并挂载它,或者 - 因为您的 GRUB 显然可以读取 LVM 逻辑卷 - 只需将文件系统中的内容重新安装/boot到/boot根文件系统的目录中。

    由于您显然使用的是基于 UEFI 的系统(因为您的所有分区都是 GPT 类型),这意味着/boot/efi如果它尚不存在,则只需创建一个空目录(作为 EFI 系统分区或 ESP 的挂载点) ,运行mount /boot/efi,验证中的设置是否/etc/default/grub与当前配置匹配,并使用 .重新安装最新的内核包rpm --reinstall。

    内核包包含该/vmlinuz-*文件,包安装过程会自动为它创建一个合适的initramfs文件。/boot完成后,现在应该恢复必须包含的所有重要文件。内核包重新安装过程甚至应该为您更新实际的 GRUB 配置文件。

    请注意,GRUB 有两个配置文件: 中的简化/etc/default/grub配置文件,以及位于/boot/efi/EFI/fedora/grub.cfgUEFI 系统上的自动生成的实际配置文件。如果您在重新安装内核包后更新前者,您可以使用以下命令手动触发后者文件的更新:

    grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
    
    • 2

相关问题

  • 如何找出 nmcli 中缺少的插件?

  • 系统完好,grub坏了

  • “pacman -Syu”“可能”破坏了我的系统,因为未安装引导

  • 如何正确分区 SSD 以进行双启动设置

  • 克隆的 SSD 无法启动并打印奇怪的线条

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve