新硬件 - 系统无法再启动 - 如何重置 systemd/udev?

新硬件 - 系统无法再启动 - 如何重置 systemd/udev?

我有 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

  1. 匹配 UUID...

terminal...

  • sudo cp /etc/fstab /etc/fstab.bak# 进行备份
  • sudo blkid
  • sudo cat /etc/fstab

对于 blkid 输出的每一行,将其与 /etc/fstab 中任何未注释的行进行比较,并确保 UUID 与相应的 /dev/sdxx 匹配。

  1. 两个交换分区,但 /etc/fstab 中没有交换定义...

sda2 和 sdb5 都是交换分区。你只需要一个。删除 /dev/sda2 并取消注释 /etc/fstab 中的 sdb5 行,使用gksudo gedit /etc/fstab

  1. 未使用的磁盘...

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

那么系统将不会在启动时尝试安装它......

相关内容