我有一个带有两个硬盘的多重引导系统:
- /dev/sda 上的 Windows 和一些旧的 Ubuntu 版本
- /dev/sdb1 上的 Ubuntu 16.04
然后我在空分区 /dev/sdb2 上安装了 Ubuntu 18.04。我不记得旧的引导加载程序位于哪里,所以我为新的引导加载程序选择了 /dev/sdb。
现在我可以毫无问题地启动 Ubuntu 18.04,但是当我启动 Ubuntu 16.04 时,出现此问题:
[ 1.820371] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 1.820395] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
[ 2.023723] usb 2-1.6: string descriptor 0 read error: -22
ssd1: clean, ... files, ... blocks
[ 5.074685] usb 2-1.6: string descriptor 0 read error: -22
Welcome to emergency mode! After logging in, ...
我已经尝试登录救援模式并运行sudo fsck -f /dev/sdb1,但没有成功。
我该如何修复它?
编辑:
我的启动日志:
$ cat boot.log
[ OK ] Started Show Plymouth Boot Screen.
[ OK ] Mounted /media/ssd3.
[ OK ] Started Forward Password Requests to Plymouth Directory Watch.
[ OK ] Started Braille Device Support.
[ OK ] Found device ST9500325AS 6.
[ OK ] Found device ST9500325AS 7.
[ OK ] Found device ST9500325AS 5.
[ OK ] Found device ST9500325AS Acer.
Mounting /media/C...
Activating swap /dev/disk/by-uuid/d7c7e54d-0eb9-49e9-bdba-de11b5637723...
Starting File System Check on /dev/disk/by-uuid/425e03d0-535c-4c23-9570-b7a03afc2b39...
Starting File System Check on /dev/disk/by-uuid/99158754-acff-4379-9640-1adc6edb157e...
[ OK ] Activated swap /dev/disk/by-uuid/d7c7e54d-0eb9-49e9-bdba-de11b5637723.
[ OK ] Reached target Swap.
[ OK ] Found device ST9500325AS Daten.
Mounting /media/E...
[ OK ] Started File System Check on /dev/disk/by-uuid/425e03d0-535c-4c23-9570-b7a03afc2b39.
Mounting /media/ubuntu1210...
[ OK ] Found device ST9500325AS shared.
Starting File System Check on /dev/disk/by-uuid/661027b0-7fb9-4e5b-bc30-4bdf232eda36...
[ OK ] Mounted /media/ubuntu1210.
[ OK ] Started File System Check on /dev/disk/by-uuid/99158754-acff-4379-9640-1adc6edb157e.
Mounting /media/ubuntu1404...
[ OK ] Mounted /media/ubuntu1404.
[ OK ] Mounted /media/C.
[ OK ] Mounted /media/E.
[ OK ] Started File System Check on /dev/disk/by-uuid/661027b0-7fb9-4e5b-bc30-4bdf232eda36.
Mounting /media/shared...
[ OK ] Mounted /media/shared.
[ TIME ] Timed out waiting for device dev-disk-by\x2duuid-57f163ae\x2d54d6\x2d4c56\x2db5c7\x2d84e1d5e4b438.device.
[DEPEND] Dependency failed for File System Check on /dev/disk/by-uuid/57f163ae-54d6-4c56-b5c7-84e1d5e4b438.
[DEPEND] Dependency failed for /media/ssd2.
[DEPEND] Dependency failed for Local File Systems.
[DEPEND] Dependency failed for Clean up any mess left by 0dns-up.
Starting Set console font and keymap...
Starting Enable support for additional executable binary formats...
[ OK ] Stopped Clean PHP session files every 30 mins.
[ OK ] Stopped target Graphical Interface.
[ OK ] Stopped Accounts Service.
[ OK ] Started Stop ureadahead data collection 45s after completed startup.
[ OK ] Closed UUID daemon activation socket.
[ OK ] Stopped Getty on tty1.
[ OK ] Stopped getty on tty2-tty6 if dbus and logind are not available.
[ OK ] Stopped Daily apt upgrade and clean activities.
[ OK ] Stopped Daily apt download activities.
[ OK ] Stopped Bluetooth service.
[ OK ] Reached target Bluetooth.
[ OK ] Stopped Save/Restore Sound Card State.
[ OK ] Stopped Manage Sound Card State (restore and store).
[ OK ] Stopped ACPI Events Check.
[ OK ] Stopped Light Display Manager.
[ OK ] Stopped Detect the available GPUs and deal with any system changes.
[ OK ] Stopped Daily Cleanup of Temporary Directories.
[ OK ] Stopped Timer to automatically fetch and run repair assertions.
[ OK ] Reached target Timers.
[ OK ] Stopped IIO Sensor Proxy service.
[ OK ] Closed Unix socket for apport crash forwarding.
[ OK ] Closed ACPID Listen Socket.
[ OK ] Stopped target Multi-User System.
[ OK ] Stopped LSB: Speech Dispatcher.
[ OK ] Stopped Make remote CUPS printers available locally.
[ OK ] Stopped CUPS Scheduler.
[ OK ] Closed CUPS Scheduler.
[ OK ] Stopped LSB: Set the CPU Frequency Scaling governor to "ondemand".
[ OK ] Stopped Modem Manager.
[ OK ] Stopped Cgroup management proxy.
[ OK ] Stopped Restore /etc/resolv.conf if the system crashed before the ppp link was shut down.
[ OK ] Stopped Initialize hardware monitoring sensors.
[ OK ] Stopped LSB: Start xrdp and sesman daemons.
[ OK ] Stopped Login Service.
[ OK ] Stopped TeamViewer remote control daemon.
[ OK ] Stopped Network Manager Wait Online.
[ OK ] Stopped crash report submission daemon.
[ OK ] Stopped LSB: automatic crash report generation.
[ OK ] Stopped The PHP 7.0 FastCGI Process Manager.
[ OK ] Stopped Auto import assertions from block devices.
[ OK ] Stopped Avahi mDNS/DNS-SD Stack.
[ OK ] Stopped LSB: Apache2 web server.
[ OK ] Stopped Regular background program processing daemon.
[ OK ] Stopped Network Manager.
[ OK ] Stopped LSB: Record successful boot for GRUB.
[ OK ] Stopped Hold until boot process finishes up.
[ OK ] Stopped /etc/rc.local Compatibility.
[ OK ] Stopped Permit User Sessions.
Starting Set console scheme...
[ OK ] Stopped Snappy daemon.
[ OK ] Closed Socket activation for snappy daemon.
[ OK ] Stopped CUPS Scheduler.
[ OK ] Stopped Automatically repair incorrect owner/permissions on core devices.
[ OK ] Stopped Unattended Upgrades Shutdown.
[ OK ] Stopped LSB: daemon to balance interrupts for SMP systems.
[ OK ] Stopped MySQL Community Server.
[ OK ] Stopped System Logging Service.
[ OK ] Closed Syslog Socket.
[ OK ] Stopped Run anacron jobs.
[ OK ] Stopped D-Bus System Message Bus.
[ OK ] Reached target Login Prompts.
[ OK ] Stopped Cgroup management daemon.
[ OK ] Closed Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Stopped Thermal Daemon Service.
[ OK ] Stopped target Basic System.
[ OK ] Reached target Paths.
[ OK ] Closed D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Stopped target System Initialization.
[ OK ] Started Emergency Shell.
[ OK ] Reached target Emergency Mode.
Starting Create Volatile Files and Directories...
Starting LSB: AppArmor initialization...
Starting Tell Plymouth To Write Out Runtime Data...
Starting Nameserver information manager...
[ OK ] Started Set console scheme.
[ OK ] Started Nameserver information manager.
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started Tell Plymouth To Write Out Runtime Data.
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Reached target Network (Pre).
Mounting Arbitrary Executable File Formats File System...
[ OK ] Started Set console font and keymap.
[ OK ] Mounted Arbitrary Executable File Formats File System.
[ OK ] Started Network Time Synchronization.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Enable support for additional executable binary formats.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Reached target System Time Synchronized.
[ OK ] Created slice system-getty.slice.
[ OK ] Started Update UTMP about System Runlevel Changes.
[ OK ] Started LSB: AppArmor initialization.
Starting Raise network interfaces...
[ OK ] Started Raise network interfaces.
[ OK ] Reached target Network.
[ OK ] Reached target Network is Online.
由于我尝试在与之前相同的硬件上加载相同的操作系统,因此我认为我的问题与新的 GRUB 版本或配置有关。
Ubuntu 16.04安装中针对Ubuntu 16.04的菜单项(/boot/grub/grub.cfg):
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7
else
search --no-floppy --fs-uuid --set=root 8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7
fi
linux /boot/vmlinuz-4.4.0-121-generic root=UUID=8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7 ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-121-generic
}
Ubuntu 18.04 安装中针对 Ubuntu 16.04 的菜单项(/boot/grub/grub.cfg):
menuentry 'Ubuntu 16.04.4 LTS (16.04) (auf /dev/sdb1)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7' {
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7
else
search --no-floppy --fs-uuid --set=root 8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7
fi
linux /boot/vmlinuz-4.4.0-121-generic root=UUID=8276f4fe-1bcd-4d25-8d6d-874f8e69a9b7 ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-121-generic
}
答案1
猜测:Ubuntu 18.04 具有内核驱动程序,这些驱动程序以某些方式设置硬件,而 Ubunutu 16.04 中的内核驱动程序无法理解这些方式,或者在初始化期间不会考虑这些方式。因此,如果您在启动 Ubuntu 18.04 后热启动 Ubuntu 16.04,相同的基本硬件将无法按预期运行,从而导致这些错误。
诊断:冷启动 Ubuntu 16.04(关闭计算机,断电几秒钟),看看问题是否仍然发生。
解决方法:始终冷启动 Ubuntu 16.04。
答案2
问题是/dev/sdb2在安装 Ubuntu 18.04 时进行了格式化。因此其 UUID 已更改,/etc/fstab不再正确了。
我必须启动 Ubuntu 18.04,才能挂载/dev/sdb2并更新其 UUID/etc/fstab(已安装分区)。
可以通过以下方式检索 UUID命令 blkid。