调整分区后Fedora启动提示“No bootable device found”的修复求助
调整分区后Fedora启动提示“No bootable device found”的修复求助
各位好,我遇到了Fedora启动的棘手问题,想请大家帮忙排查下。先说说背景:我是个Linux新手,之前尝试在Fedora上双启动Windows的时候,胡乱调整了几个分区,当时完全没记录操作步骤,现在只能对着当前的系统状态找解决办法——后悔死没提前备份了,现在只能硬着头皮推进。
目前的问题是:我从Dell Inspiron 7400的启动菜单选择Fedora时,会弹出No bootable devices found的错误。现在我只能通过Fedora live USB来操作系统。
命令输出信息
首先是sudo fdisk -l的输出:
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors Disk model: KBG40ZNS512G NVMe KIOXIA 512GB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 3A1641E9-8A61-4571-84A5-5A4B01FE1FEF Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1230847 1228800 600M EFI System /dev/nvme0n1p2 1230848 3327999 2097152 1G Linux filesystem /dev/nvme0n1p3 3328000 481832959 478504960 228.2G Linux filesystem /dev/nvme0n1p4 481832960 1000214527 518381568 247.2G Microsoft basic data GPT PMBR size mismatch (3979243 != 240328703) will be corrected by write. The backup GPT table is not on the end of the device.
然后是lsblk -f针对目标磁盘的输出:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS nvme0n1 ├─nvme0n1p1 exfat 1.0 E3FF-EA47 ├─nvme0n1p2 ext4 1.0 98871ee5-1638-4cce-ad50-8668e8ddca31 ├─nvme0n1p3 btrfs fedora_localhost-live 2f90f992-e665-42ac-b8d0-0452f56c3413 └─nvme0n1p4 exfat 1.0 67ED-F63F
补充下分区作用:nvme0n1p3是我要恢复的Fedora系统分区,nvme0n1p4是之前为Windows 10准备的存储分区。
尝试挂载系统并查看fstab的过程
我先挂载了nvme0n1p3和相关虚拟文件系统,进入chroot环境:
$ mount -t btrfs -o subvol=root,compress=zstd:1 UUID=2f90f992-e665-42ac-b8d0-0452f56c3413 /mnt $ for dir in sys proc run dev ; do mount --bind /$dir /mnt/$dir ; done $ chroot /mnt
当前挂载的分区状态:
$ mount /dev/nvme0n1p3 on / type btrfs (rw,relatime,seclabel,compress=zstd:1,ssd,space_cache=v2,subvolid=257,subvol=/root) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=3218672k,nr_inodes=819200,mode=755,inode64) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4096k,nr_inodes=1048576,mode=755,inode64) /dev/nvme0n1p2 on /boot type ext4 (rw,relatime,seclabel) /dev/nvme0n1p3 on /home type btrfs (rw,relatime,seclabel,compress=zstd:1,ssd,space_cache=v2,subvolid=256,subvol=/home)
现在/boot/efi没有挂载,尝试挂载时出现错误:
$ mount /boot/efi mount: /boot/efi: wrong fs type, bad option, bad superblock on /dev/nvme0n1p1, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.
chroot环境下/etc/fstab的内容:
UUID=2f90f992-e665-42ac-b8d0-0452f56c3413 / btrfs subvol=root,compress=zstd:1 0 0 UUID=98871ee5-1638-4cce-ad50-8668e8ddca31 /boot ext4 defaults 1 2 UUID=E3FF-EA47 /boot/efi vfat umask=0077,shortname=winnt 0 2 UUID=2f90f992-e665-42ac-b8d0-0452f56c3413 /home btrfs subvol=home,compress=zstd:1 0 0 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014b4983299e0e5a6c1f9f3d81280741420402818084341748ec522098bd28ad3d0000000000000000000034beffdcff0c520091558107b7ad0543-0:0 /mnt/usb-USB_SanDisk_3.2Gen1_01014b4983299e0e5a6c1f9f3d81280741420402818084341748ec522098bd28ad3d0000000000000000000034beffdcff0c520091558107b7ad0543-0:0 auto nosuid,nodev,nofail,x-gvfs-show 0 0
我已经尝试过的操作
- 一开始
nvme0n1p1(标记为EFI分区)是NTFS格式,我跟着网上教程用GParted把它格式化成了exFAT - 尝试手动将
nvme0n1p1挂载到/boot/efi - 修改了
/etc/fstab里的UUID,改成了当前nvme0n1p1的UUID
现在还是没法解决启动问题,希望各位能给点建议,谢谢!
备注:内容来源于stack exchange,提问作者Anton Gomes
相关产品推荐
相关产品推荐

