我在 Dell Latitude 6420 笔记本电脑上安装了 Ubuntu 16.04 双启动(带 Windows 7)。
昨天,更新后,它要求重新启动,然后无法完全重新启动。它进入用户登录界面,然后在我输入密码后冻结。有几次它也冻结在登录界面,甚至不允许我输入密码。
读了一些资料后,我尝试以“安全模式”登录。首先,我尝试登录第一个选项(以“通用”结尾)。我可以毫无问题地登录和使用机器。但正常登录后,它继续冻结。
在阅读了更多内容之后,我重复了这个过程,这次选择以“恢复模式”结尾的选项。
从那里我选择了选项,fsck...它运行并向我提供了有关交换分区上缺少依赖项的信息。
所以现在我的电脑和我都陷入了非常尴尬的沉默。它就像你在截图中看到的那样,我想它正在等待我做某事。而我在这里等着它告诉我下一步该做什么。
所以我有两个问题:
下一步我该做什么?
我该如何解决缺少的依赖项?或者 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:
有些事情看起来不太对劲。回答所有问题很重要。
- 启动时是否要求输入解密密码?
- 当您执行
fsck
(按照我的方式执行,而不是从菜单执行)时,它是否会显示第 1 次通过、第 2 次通过等等,然后返回到 # 提示符? - 它还会显示交换问题吗?
- 无线网络问题是什么时候开始的?
- 您能直接连接有效的以太网吗?
给我看看:
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
检查无线。