您好,我是 Ubuntu 和 Linux 的新手。我目前正在运行 Windows 10 和 Ubuntu 分区。我的 Ubuntu 版本是 20.04.4。在互联网上搜索后,解决我的问题的常见方法似乎是更新文件 /etc/fstab 中的 UUID,以匹配 sudo blkid 给出的 UUID。但是在我的例子中,两个 UUID 是相同的。不知道下一步该怎么做。
这是 cat /etc/fstab 的输出。
# /etc/fstab: static file system information
#
# Use 'blkid' to print universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# (file system) (mount print) (type) (options) (Dump) (pass)
# / was on /dev/sda5 during installation
UUID=9e23567d-55ad-4455-aa65-cecbba883fcc / ext4 errors=remount-ro 0 1
# /boot/efi was on dev/sda3 during installation
UUID=D5C8-6AAE /boot/efi vfat umask=0077 0 1
/swapfile none swap sw O O
运行 sudo blkid 的输出:
/dev/sda5: UUID="9e23567d-55ad-4455-aa65-cecbba883fcc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="000010b0-05"
/dev/loop1: TYPE="squashfs"
/dev/loop29: TYPE="squashfs"
/dev/loop19: TYPE="squashfs"
/dev/loop27: TYPE="squashfs"
/dev/loop17: TYPE="squashfs"
/dev/loop8: TYPE="squashfs"
/dev/loop25: TYPE="squashfs"
/dev/loop15: TYPE="squashfs"
/dev/loop6: TYPE="squashfs"
/dev/loop23: TYPE="squashfs"
/dev/loop13: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop21: TYPE="squashfs"
/dev/loop11: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop0: TYPE="squashfs"
/dev/loop28: TYPE="squashfs"
/dev/loop18: TYPE="squashfs"
/dev/loop9: TYPE="squashfs"
/dev/loop26: TYPE="squashfs"
/dev/loop16: TYPE="squashfs"
/dev/loop7: TYPE="squashfs"
/dev/loop24: TYPE="squashfs"
/dev/sda2: BLOCK_SIZE="512" UUID="DA6463286463071B" TYPE="nfts" PARTUUID="000010b0-02"
/dev/sda3: UUID="D5C8-6AAE" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="000010b0-03"
/dev/sda1: LABEL="System Reserved" BLOCK_SIZE="512" UUID="A8E65F59E65F26BA" TYPE="ntfs" PARTUUID="000010b-01"
/dev/loop14: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/loop22: TYPE="squashfs"
/dev/loop12: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop20: TYPE="squashfs"
/dev/loop10: TYPE="squashfs"
这些是启动 Ubuntu 时显示的错误:
[ 0.11447] x/86: VMX (outside TXT) disabled by BIOS
/dev/sda5: recovering journal
/dev/sda5: clean, 2509484/12222464 files, 26749471/48861696 blocks
[ TIME ] Timed out waiting for device /dev/disk/by-uuid/D5C8-6AAE.
[DEPEND] Dependency failed for File System Check on /dev/disk/by-uuid/D5C8-6AAE.
[DEPEND] Dependency failed for /boot/efi.
[DEPEND] Dependency failed for Local File Systems
[FAILED] Failed to start Load AppArmor profiles.
####运行 sudo fdisk -l | sed -e '/Disk /dev/loop/,+5d' 的输出 ####
Partition 4 does not start on physical sector boundary. Disk /dev/sda: 465.78GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000LPCX-2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000010b0
|Device |Boot |Start |End |Sectors |Size |Id |Type |
|/dev/sda1|* |2048 |1187|1185792 |579M |7 |HPFS/|
| | | |839 | | | |NTFS/|
| | | | | | | |exFAT|
|---------|-----|------|----|--------|-----|---|-----|
|/dev/sda2| |118784|5848|58363651|278.3|7 |HPFS/|
| | |0 |2435|1 |G | |NTFS/|
| | | |0 | | | |exFAT|
|---------|-----|------|----|--------|-----|---|-----|
|/dev/sda3| |584824|5858|1050624 |513M |b |W95 F|
| | |832 |7545| | | |AT32 |
| | | |5 | | | | |
|---------|-----|------|----|--------|-----|---|-----|
|/dev/sda4| |58587 |9767|39089357|186.4|5 |Exten|
| | |7502 |7107|0 |G | |ded |
| | | |1 | | | | |
|---------|-----|------|----|--------|-----|---|-----|
|/dev/sda5| |58587 |9767|39089356|186.4|83 |Linux|
| | |7504 |7107|8 |G | | |
| | | |1 | | | | |
|---------|-----|------|----|--------|-----|---|-----|
运行 sudo fdisk -l 的输出
循环 7 至循环 11(此处显示 sda)
运行 lsblk -e 7 -0 name,fstype,size,fused,label,UUID,mount point 的输出
| NAME | FSTYPE | SIZE | FUSED | LABEL | UUID | MOUNTPOINT |
|------|--------|------|-------|-------|------|------------|
|sda | |465.8G| | | | |
|------|--------|------|-------|-------|------|------------|
|sda1 |ntfs |579M | |System |A8E65F| |
| | | | |Reserve|59E65F| |
| | | | |d |26BA | |
|------|--------|------|-------|-------|------|------------|
|sda2 |ntfs |278.3G| | |DA6463| |
| | | | | |286463| |
| | | | | |071B | |
|------|--------|------|-------|-------|------|------------|
|sda3 |vfat |513M | | |D5C8-6| |
| | | | | |AAE | |
|------|--------|------|-------|-------|------|------------|
|sda4 | |1k | | | | |
|------|--------|------|-------|-------|------|------------|
|sda5 |ext4 |186.4G|97.7G | |9e2356|/ |
| | | | | |7d-55a| |
| | | | | |d-4455| |
| | | | | |-aa65-| |
| | | | | |cecbba| |
| | | | | |883fcc| |
|------|--------|------|-------|-------|------|------------|
终于解决了这个问题:我用一个实时的 usb 启动并运行 $ sudo fsck /dev/sda5
(我的 Linux 分区,您可以通过运行 sudo blkid 获取您的分区,它是类型为 ext4 的分区),然后运行引导修复建议的修复程序,然后重新启动。不幸的是,Grub 引导加载程序无法运行。所以我用一个实时的 usb 启动并运行 $ sudo mount /dev/sda5 /mnt
,然后sudo grub-install --boot-directory=/mnt/boot /dev/sda5
运行 $ 重新安装 grub。我启动到我的正常 Ubuntu 分区,所有错误都消失了,除了一个,“无法加载 AppArmor 配置文件”。在这里我犯了一个错误,我按照这里的说明操作(https://francoconidi.it/solved-failed-to-start-load-apparmor-profiles-debian-10/),我运行了 sudo purge snapd。现在,我的很多应用程序都消失了。但是它确实修复了 AppArmor 问题。所以我登录了,没有错误,不幸的是也没有 GUI。我运行了 $ sudo apt list ubuntu-desktop
,发现它甚至没有安装。那时我准备放弃了,我决定将 Ubuntu 升级到 22.04,希望所有缺失的软件包都能重新安装。我按照这里的说明进行操作 (https://help.ubuntu.com/community/LiveCdRecovery) chroot 到我的 Ubuntu 并升级和更新所有内容。由于软件包(python3-cupshelpers),它无法完全升级,因此我重新安装了它、ubuntu-desktop(为了安全起见)和 xinit 软件包。然后我启动到 Ubuntu 并看到了 GUI,但我仍然进入 ttyl。运行 startx 确认桌面在那里,但我需要默认运行 GUI。我重新启动并运行 $ sudo systemctl isolate graphical
,加载了 GUI,然后在终端中运行 $ sudo systemctl set-default graphical.target
。重新启动。完美运行。但我的一些应用程序(如 Firefox)不见了。
如果我说的没有多大意义,我深表歉意,我是 Linux 新手,所以我不确定我使用的术语是否正确。希望这对你有帮助