我有 Ubuntu 16.04。我刚刚更换了硬件(新主板、新 CPU、新 GPU、新 RAM、新网卡、新 SATA 控制器),现在 Ubuntu 无法启动了。过了一会儿,我进入了紧急 shell,似乎我可以完全访问那里的系统。我能够手动设置网络(ifconfig en5ps0 up; dhclient en5ps0
<- 它出现的非常奇怪的接口名称)。查看日志(journalctl -xb
),似乎在等待某个不再找到的磁盘时超时了。
一些可能相关的日志消息:
...
systemd: Received SIGRTMIN+21 from PID 2816 (plymouthd).
...
root: /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd returned non-zero exit status 1
...
root: /etc/dhcp/dhclient-enter-hooks.d/samba returned non-zero exit status 1
...
systemd: Received SIGRTMIN+20 from PID 3100 (plymouthd).
...
systemd: dev-disk-by\x2duuid-....device: Job dev-disk-by\x2duuid-...device/start timed out.
systemd: Timed out waiting for device dev-disk-by\x2duuid-....device.
-- Subject: Unit dev-disk-by...device has failed
...
-- The result is timeout.
systemd: Dependency failed for File System Check on /dev/disk/by-uuid/....
...
systemd: Dependency failed for /mnt/....
...
systemd: Dependency failed for Local File Systems.
...
/etc/fstab
:
root@gcomputer:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
#/dev/sdb1: UUID="56fc92d2-1903-4263-b88e-d09bc15ef1d3" TYPE="ext4"
#/dev/sdb2: UUID="f9b799de-c564-4e00-9924-4e8a0ffe8d51" TYPE="swap"
# new SSD (OCZ-VERTEX2_OCZ-K5Q40019666QDZLM)
UUID=56fc92d2-1903-4263-b88e-d09bc15ef1d3 / ext4 discard,noatime,user_xattr,acl,relatime,errors=remount-ro 0 1
# /dev/sdb5:
# UUID=78ca7a27-6fcc-493c-a10a-5ed961a682e5 none swap discard,sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
# very old Gentoo (ST380011A_5JVHHAX0)
UUID=64f30a2f-1c38-40e8-8ab2-7f639b9c3673 /mnt/gentooroot reiserfs user_xattr,acl 0 1
UUID=a448006c-43df-4fbe-be3d-18da22b4e29c /mnt/gentooroot/home reiserfs user_xattr,acl 0 1
# oldroot (WDC_WD5000AACS-00G8B1_WD-WCAUK0065639)
UUID=2474adbe-ca12-4ad1-bea1-1938fdb1c8a4 /mnt/oldroot ext3 noatime,user_xattr,acl,relatime,errors=remount-ro 0 1
blkid
:
root@gcomputer:~# blkid
/dev/sda1: UUID="56fc92d2-1903-4263-b88e-d09bc15ef1d3" TYPE="ext4" PTTYPE="dos" PARTUUID="2db0af09-01"
/dev/sda2: UUID="f9b799de-c564-4e00-9924-4e8a0ffe8d51" TYPE="swap" PARTUUID="2db0af09-02"
/dev/sdb1: UUID="2474adbe-ca12-4ad1-bea1-1938fdb1c8a4" SEC_TYPE="ext2" TYPE="ext3" PARTUUID="00039d20-01"
/dev/sdb5: UUID="78ca7a27-6fcc-493c-a10a-5ed961a682e5" TYPE="swap" PARTUUID="00039d20-05"
那么,我该如何解决这个问题?为什么它甚至要等待磁盘?包括主目录和它所需的一切在内的根文件系统已经可用。
我是否需要告诉 udev 或 systemd 或任何其他程序重新扫描新硬件或新磁盘 ID 等?为什么它不自动执行这些操作?
我该如何进一步调试呢?
答案1
- 匹配 UUID...
在terminal
...
sudo cp /etc/fstab /etc/fstab.bak
# 进行备份sudo blkid
sudo cat /etc/fstab
对于 blkid 输出的每一行,将其与 /etc/fstab 中任何未注释的行进行比较,并确保 UUID 与相应的 /dev/sdxx 匹配。
- 两个交换分区,但 /etc/fstab 中没有交换定义...
sda2 和 sdb5 都是交换分区。你只需要一个。删除 /dev/sda2 并取消注释 /etc/fstab 中的 sdb5 行,使用gksudo gedit /etc/fstab
- 未使用的磁盘...
gksudo gedit /etc/fstab
使用...注释掉下面显示的行
任何 NTFS 挂载
/dev/scd0 /media/cdrom0 udf,iso9660 用户,noauto,exec,utf8 0 0
UUID=64f30a2f-1c38-40e8-8ab2-7f639b9c3673 /mnt/gentooroot reiserfs 用户_xattr,acl 0 1
UUID=a448006c-43df-4fbe-be3d-18da22b4e29c /mnt/gentooroot/home reiserfs user_xattr,acl 0 1
答案2
从我的 中删除一些条目后/etc/fstab
,这似乎已经解决了一些问题。我仍然想知道为什么它因此而无法启动,还有其他错误,而且我仍然无法获得图形登录(请参阅这里) 但至少第一个问题可能已经解决了。
答案3
对之前的答案进行补充。
不要注释掉 fstab 的部分内容,而是更改其选项。您真的需要在启动时挂载 NTFS/FAT 驱动器/分区吗,或者您偶尔使用这些驱动器/分区?如果是后者,您应该在挂载定义行的选项部分中添加“noauto”选项。
例如。原先是:
LABEL="NTFS drive" /media/NTFSD NTFS some_options
如果标签为“NTFS 驱动器”的分区不存在,或者出现问题,您可以避免以下问题:
LABEL="NTFS drive" /media/NTFSD NTFS noauto,some_options
那么系统将不会在启动时尝试安装它......