fsck--最后做什么?

fsck--最后做什么?

我在 Dell Latitude 6420 笔记本电脑上安装了 Ubuntu 16.04 双启动(带 Windows 7)。

昨天,更新后,它要求重新启动,然后无法完全重新启动。它进入用户登录界面,然后在我输入密码后冻结。有几次它也冻结在登录界面,甚至不允许我输入密码。

读了一些资料后,我尝试以“安全模式”登录。首先,我尝试登录第一个选项(以“通用”结尾)。我可以毫无问题地登录和使用机器。但正常登录后,它继续冻结。

在阅读了更多内容之后,我重复了这个过程,这次选择以“恢复模式”结尾的选项。

从那里我选择了选项,fsck...它运行并向我提供了有关交换分区上缺少依赖项的信息。

fsck 错误截图

所以现在我的电脑和我都陷入了非常尴尬的沉默。它就像你在截图中看到的那样,我想它正在等待我做某事。而我在这里等着它告诉我下一步该做什么。

所以我有两个问题:

  1. 下一步我该做什么?

  2. 我该如何解决缺少的依赖项?或者 fsck 应该这样做吗?

附加信息:

“退出”使我退出此屏幕,并返回到 grub/恢复模式菜单

从此菜单中,选择 root 访问权限,然后在提示符下输入“sudo fsck -f /”,产生以下响应:

根访问权限

然后我重启了。正常启动仍然不起作用,所以我再次重启进入通用的选项。我运行了以下命令:

sudo blkid

/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/sda1: LABEL="System Reserved" UUID="2C2A0DEA2A0DB23E" TYPE="ntfs" PARTUUID="f752fb6f-01"
/dev/sda2: LABEL="Windows 7" UUID="5E98156C981543C5" TYPE="ntfs" PARTUUID="f752fb6f-02"
/dev/sda4: LABEL="Swap" UUID="4c570f54-c0d4-44ac-a132-9517c64f0cff" TYPE="swap" PARTUUID="f752fb6f-04"
/dev/sda5: UUID="4320c663-1161-4fe9-b5f8-ac72526376db" TYPE="ext4" PARTUUID="f752fb6f-05"`

cat /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the 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 point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=4320c663-1161-4fe9-b5f8-ac72526376db /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda4 during installation
UUID=4c570f54-c0d4-44ac-a132-9517c64f0cff none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0`

cat /etc/crypt*

cryptswap1 UUID=ce2b005b-dea2-4808-86eb-71884dfeb5c4 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

笔记:而启动到通用模式则正常,我现在没有互联网。当我打开网络设置并尝试打开 Wi-Fi 时,它会自动关闭。它在 Windows 端也不起作用。否则 Windows 确实可以正常启动。

然后我用启动盘重新启动,运行分区并拍下了这张照片:

分区映像

更新:

每次重启时,我都会检查是否可以正常登录。在能够实施以下建议之前,我的机器正常启动,处于正常模式,但仍然没有 Wi-Fi(我还没有尝试将其直接连接到调制解调器)

在正常启动的情况下,我检查了以下所有内容:

gparted(已更正)- 所有应该加密的分区都已加密。稍后我将在此处添加几张照片。

sudo blkid(已更改)- 底部有一个新行,其中包含之前不存在的 cryptswap1 的 UUID:

/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/sda1: LABEL="System Reserved" UUID="2C2A0DEA2A0DB23E" TYPE="ntfs" PARTUUID="f752fb6f-01"
/dev/sda2: LABEL="Windows 7" UUID="5E98156C981543C5" TYPE="ntfs" PARTUUID="f752fb6f-02"
/dev/sda4: LABEL="Swap" UUID="4c570f54-c0d4-44ac-a132-9517c64f0cff" TYPE="swap" PARTUUID="f752fb6f-04"
/dev/sda5: UUID="4320c663-1161-4fe9-b5f8-ac72526376db" TYPE="ext4" PARTUUID="f752fb6f-05"
/dev/mapper/cryptswap1: UUID="e9166797-d813-4430-ab6e-d2f060ca59c5" TYPE="swap"

cat /etc/fstab——同样,没有变化。

cat /etc/crypt*——同样,没有变化。

所以我无法正常启动,所以我眼前的问题得到了解决。我重新启动 grub 并再次运行 fsck,仍然有相同的依赖性错误。

于是我按照下面的指示进入 grub root 提示符并进行了建议的更改。它没有正常启动。在通用的模式中我能够截取 gparted 的屏幕截图。现在主分区已加密,但交换分区尚未加密。

然后我意识到@heynnema 的方向,注意到了新的 UUID, fstab并使用该 UUID 重新编写了他的指令。现在它可以正常启动,并且所有分区都按应有的方式加密。

然而,当我返回 grub 并运行时fsck,相同的依赖错误仍然存​​在。

我不确定我是否应该将此视为已解决。我确实可以完全访问我的电脑(无 Wi-Fi),并且已成功退出 grub。

我需要担心依赖项错误吗?我以为依赖项是更新文件等的一部分 - 我调整的内容是否也被视为依赖项?

(关于 Wi-Fi 问题,我会在另一篇文章中讨论)

学习曲线很陡峭...

更新 #2 附加信息:

free -h

              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.5G        712M        216M        1.6G        1.8G
Swap:           14G          0B         14G

swapon -s

Filename                Type        Size    Used    Priority
/dev/sda4                               partition   15625212    0   -1

sudo lshw -C network

[sudo] password for : 
  *-network               
       description: Ethernet interface
       product: 82579LM Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: eno1
       version: 04
       serial: d4:be:d9:24:ae:23
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.13-3 ip=192.168.1.201 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:25 memory:e6e00000-e6e1ffff memory:e6e80000-e6e80fff ioport:5080(size=32)
  *-network
       description: Network controller
       product: BCM4313 802.11bgn Wireless Network Adapter
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=bcma-pci-bridge latency=0
       resources: irq:17 memory:e6d00000-e6d03fff
  *-network DISABLED
       description: Wireless interface
       physical id: 2
       logical name: wlp3s0b1
       serial: c0:18:85:76:83:d1
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=brcmsmac driverversion=4.10.0-27-generic firmware=N/A link=no multicast=yes wireless=IEEE 802.11

dkms status没有返回任何内容

rfkill list

0: dell-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

禁用交换后进行 fsck

imgur.com/a/bKL64(它不允许我发布任何更多链接)它甚至没有列出任何交换信息。

更新 3 信息

free -h

              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.9G        649M        322M        1.2G        1.3G
Swap:           14G        3.5M         14G

swapon -s

Filename                Type        Size    Used    Priority
/dev/sda4                               partition   15625212    3604    -1

fsck在 grub 菜单中产生了相同的依赖错误。

然而,我注意到,在这一TIME行中,数字的一部分与旧 cryptswap1 的 UUID 匹配 - 但不是完全匹配。我保留了它,以防我需要将其改回来。

cat crypttab.old

#cryptswap1 UUID=ce2b005b-dea2-4808-86eb-71884dfeb5c4 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

我查看了它指示的 /dev/disk/... 并发现了以下内容:

Latitude-E6420:/dev/disk/by-uuid$ ls -al
total 0
drwxr-xr-x 2 root root 120 Jul 27 22:03 .
drwxr-xr-x 6 root root 120 Jul 27 22:03 ..
lrwxrwxrwx 1 root root  10 Jul 27 22:04 2C2A0DEA2A0DB23E -> ../../sda1
lrwxrwxrwx 1 root root  10 Jul 27 22:04 4320c663-1161-4fe9-b5f8-ac72526376db -> ../../sda5
lrwxrwxrwx 1 root root  10 Jul 27 22:04 4c570f54-c0d4-44ac-a132-9517c64f0cff -> ../../sda4
lrwxrwxrwx 1 root root  10 Jul 27 22:04 5E98156C981543C5 -> ../../sda2

就像是在寻找一些不存在的东西,但我的所有分区似乎都已被考虑在内。

答案1

让我们重新运行fsck,然后收集一些数据......

要检查 Ubuntu 分区上的文件系统...

  • 启动到 GRUB 菜单
  • 选择高级选项
  • 选择恢复模式
  • 选择 Root 访问
  • 在 # 提示符下,输入sudo fsck -f /
  • 如果有错误,请重复 fsck 命令

现在我们收集一些数据...

  • 类型sudo blkid
  • 类型cat /etc/fstab
  • 类型cat /etc/crypttab
  • 类型free -h
  • 类型swapon -s

拍照并将其添加到您的问题中,我会看一下。

启动 Ubuntu Live DVD/USB 并启动gparted。截取当前窗口的屏幕截图并将其添加到您的问题中。

更新#1:

肯定有人对 HDD/SDD 进行了重新分区,对吧?看起来有点奇怪。交换分区的 UUID 在blkid和中不一致cryptswap1,并且 fstab 中似乎有一些错误的字符。

按照上面的方法,进入根提示符,然后输入:

sudo mount -o rw,remount / # to remount as r/w

/etc/fstab...

sudo pico /etc/fstab

检查这一行...

/dev/mapper/cryptswap1 none swap sw 0 0`

更改为...

/dev/mapper/cryptswap1 none swap sw 0 0

然后在/etc/crypttab……

sudo pico /etc/crypttab

更改此行...

cryptswap1 UUID=ce2b005b-dea2-4808-86eb-71884dfeb5c4 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

对此...

cryptswap1 UUID=4c570f54-c0d4-44ac-a132-9517c64f0cff /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

然后重新启动。

更新 #2:

有些事情看起来不太对劲。回答所有问题很重要。

  1. 启动时是否要求输入解密密码?
  2. 当您执行fsck(按照我的方式执行,而不是从菜单执行)时,它是否会显示第 1 次通过、第 2 次通过等等,然后返回到 # 提示符?
  3. 它还会显示交换问题吗?
  4. 无线网络问题是什么时候开始的?
  5. 您能直接连接有效的以太网吗?

给我看看:

free -h
swapon -s
sudo lshw -C network
dkms status

更新 #3:

您没有向我展示上述 4 条命令的输出。在执行此更新的其余部分之前,使用此输出编辑您的问题。

以能够看到交换错误消息的方式启动。尽可能多地复制显示的 UUID。将它们与旧命令和新sudo blkid命令进行比较,寻找匹配项。

我们将暂时禁用交换和交换加密,以便我们能够看到它是否对无线问题产生任何影响(我认为不会产生影响)。

terminal...

gksudo gedit /etc/fstab

#编辑这些行,并通过在每行前面放置一个来注释掉最后两行。(请记住稍后取消注释这些行)。

改变这个:

# swap was on /dev/sda4 during installation
UUID=4c570f54-c0d4-44ac-a132-9517c64f0cff none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

对此:

# swap was on /dev/sda4 during installation
#UUID=4c570f54-c0d4-44ac-a132-9517c64f0cff none            swap    sw              0       0
#/dev/mapper/cryptswap1 none swap sw 0 0

然后重命名它(记得稍后将其重命名):

sudo mv /etc/crypttab /etc/crypttab.HOLD
reboot

检查无线。

相关内容