需要提醒的是:我缺乏经验,在尝试从 Fedora 双启动 Windows 时移动了一些分区,我没有记下自己在做什么,因此只能从当前情况开始工作,而没有可以追溯到的。我知道我应该备份,但我们现在就是这样。
当我尝试从启动菜单启动到 DELL Inspiron 7400 上的 Fedora 文件系统时,我收到一个No bootable devices found error
。
我目前正在通过实时 USB 使用 Fedora。
输出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。
/etc/fstab
要显示I 挂载的内容nvme0n1p3
和其他相关的虚拟文件系统
$ 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 环境。
$ 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 分区)在nfts
问题首次发生时被格式化,根据在线建议,我exfat
使用 Gparted重新格式化了它- 然后我再手动安装
nvme0n1p1
在/boot/efi
。 - 最后,我更改了 UUID
etc/fstab
以匹配此。这是显示的当前 UUIDnvme0n1p1
。
答案1
在我看来,您已经破坏了 Windows UEFI 分区($ mount /boot/efi)。
此时最好的办法是正确地重新安装 Windows,以便它能生成所需的 Windows 分区。
然后将 Fedora 放入虚拟机中,这样您就不必在尝试学习其他操作系统时抨击 Windows。我这样做了,效果非常好。