启动时“放弃等待根设备。警报!/dev/disk/by-uuid/ 不存在。掉到 shell”

Int*_*cia 12 boot

几年前我使用 Ubuntu 并放弃了它。我现在准备再试一次。令我惊讶的是,我在第一次安装时就收到了这条消息。如果我等待一段时间并输入 exit ,操作系统将正常启动。我决定重新安装 Ubuntu,看看是否可以解决问题。情况并非如此。它一直以同样的方式表现。

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/11d3bcfa-0726-47cf-a705-e4acdd9169fe does not exist.   
Dropping to a shell!

BusyBox v.1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏!

须藤blkid; 山; cat /etc/fstab 输出:

/dev/sda1: LABEL="System Reserved" UUID="1C8CC0F68CC0CC08" TYPE="ntfs" 
/dev/sda2: UUID="A490C32890C30032" TYPE="ntfs" 
/dev/sda5: UUID="920c6caa-4062-45f0-a58c-585db797d554" TYPE="swap" 
/dev/sda6: UUID="11d3bcfa-0726-47cf-a705-e4acdd9169fe" TYPE="ext4" 
/dev/sda6 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup     (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=inti)
# /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/sda6 during installation
UUID=11d3bcfa-0726-47cf-a705-e4acdd9169fe /               ext4    errors=remount-ro     0       1
# swap was on /dev/sda5 during installation
UUID=920c6caa-4062-45f0-a58c-585db797d554 none            swap    sw                  0       0
Run Code Online (Sandbox Code Playgroud)

这是 grep rootdelay /boot/grub/grub.cfg 的输出

    linux   /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf-    a705-e4acdd9169fe ro rootdelay=10 quiet splash $vt_handoff
        linux   /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf-    a705-e4acdd9169fe ro rootdelay=10 quiet splash $vt_handoff
        linux   /boot/vmlinuz-3.13.0-32-generic root=UUID=11d3bcfa-0726-47cf-    a705-e4acdd9169fe ro recovery nomodeset rootdelay=10
Run Code Online (Sandbox Code Playgroud)

mur*_*uru 10

由于在一段时间后检测到根文件系统,您可以添加一个rootdelay或一个rootwait. 从内核文档

rootdelay=  [KNL] Delay (in seconds) to pause before attempting to
        mount the root filesystem
...
rootwait    [KNL] Wait (indefinitely) for root device to show up.
        Useful for devices that are detected asynchronously
        (e.g. USB and MMC devices).
Run Code Online (Sandbox Code Playgroud)

要设置其中之一,请编辑/etc/default/grub并更改 的值GRUB_CMDLINE_LINUX。使用您喜欢的编辑器,如nanogedit,与sudogksudo根据需要:

sudo nano /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

rootdelay=10在引号内添加。如果您不想手动编辑,请运行以下命令:

sudo sed -i.bak 's/^GRUB_CMDLINE_LINUX="/& rootdelay=10 /' /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

然后运行:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

这将告诉内核在继续挂载根文件系统之前等待 10 秒。要查看是否应用了此更改,请运行

grep rootdelay /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)

如果显示了某些输出,则应用了它。现在重新启动。

如果仍然出现错误,请按CtrlAltDel重新启动,等待 GRUB OS 选择菜单出现并按e。编辑 的值rootdelay,并增加它。按F10开机。重复。

如果启动正确,请尝试上述过程,并减小该值。