Boot ends in Dracut Emergency Shell with warning that root device does not exist

For a few days now booting ends mostly in the Dracut Emergency Shell, presenting a warning that root device does not exist. I checked rsdosreport.txt and journalctl, but did not see anything that might cause this behaviour. Luckily booting with an old rescue kernel is successful…
So in rare times the boot runs successfully without any intervention from my side. Hardware did not change in the past. So I saw no need to follow hints to recreate initramfs with all available drivers. Anyway, I tried with a new initramfs but failed as well.

My failing kernels are
5.9.11-100.fc32.x86_64
5.9.10-100.fc32.x86_64

Any idea how best to proceed in case a new initramfs does not fix this issue?
I wondered if the cause might be that the root device is allocated on a SSD, but no LVM. So I additionally trimmed, what at the first sight seemed to help, but one day later the boot failed again.

Thank you in advance

1 Like
cat /etc/default/grub
grep -v -e ^# -e ^$ /etc/fstab
lsblk -o +FSTYPE,UUID

Make sure the UUIDs from the configs match your actual devices.
Unstable behavior can be a sign of a hardware failure.

1 Like

Hello vgaetera,

in the new screenshot you can see that config and devices match.

1 Like

$ sudo smartctl -x /dev/sda

The output from the above command might indicate if there is a problem with the hard drive.

2 Likes

smartctl does not report any errors, as far as I see it.
As long as I can boot with no errors from the rescue kernel I wonder if a hardware error might cause this behaviour.

[jojo@localhost ~]$ sudo smartctl -x /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.9.11-100.fc32.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     SandForce Driven SSDs
Device Model:     Corsair Force LS SSD
Serial Number:    16437909000121773635
Firmware Version: S9FM02.8
User Capacity:    60,022,480,896 bytes [60.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 (minor revision not indicated)
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Dec  3 11:55:11 2020 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM feature is:   Disabled
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Wt Cache Reorder: Unavailable

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(   30) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 (   2) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     PO-R--   100   100   050    -    0/0
  5 Retired_Block_Count     PO--C-   100   100   050    -    0
  9 Power_On_Hours_and_Msec -O--C-   100   100   000    -    3003h+00m+00.000s
 12 Power_Cycle_Count       -O--C-   100   100   000    -    2675
162 Unknown_SandForce_Attr  PO----   067   067   000    -    123
170 Reserve_Block_Count     -O----   100   100   000    -    139
172 Erase_Fail_Count        -O--C-   100   100   000    -    0
173 Unknown_SandForce_Attr  ------   100   100   000    -    1114304
174 Unexpect_Power_Loss_Ct  -O--C-   100   100   000    -    1
181 Program_Fail_Count      -O--C-   100   100   000    -    0
187 Reported_Uncorrect      -O--C-   100   100   000    -    0
192 Power-Off_Retract_Count -O--C-   100   100   000    -    1
194 Temperature_Celsius     PO---K   070   070   000    -    30
196 Reallocated_Event_Count ------   100   100   000    -    0
218 Unknown_SandForce_Attr  ------   100   100   000    -    0
231 SSD_Life_Left           PO--C-   100   100   000    -    99
241 Lifetime_Writes_GiB     -O--C-   100   100   000    -    537
242 Lifetime_Reads_GiB      -O--C-   100   100   000    -    677
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O     51  Comprehensive SMART error log
0x03       GPL     R/O     64  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x09           SL  R/W      1  Selective self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log

SMART Extended Comprehensive Error Log Version: 1 (64 sectors)
No Errors Logged

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      2995         -

SMART Selective self-test log data structure revision number 0
Note: revision number not 1 implies that no selective self-test has ever been run
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1               0  ---  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  2            0  Command failed due to ICRC error
0x0003  2            0  R_ERR response for device-to-host data FIS
0x0004  2            0  R_ERR response for host-to-device data FIS
0x0006  2            0  R_ERR response for device-to-host non-data FIS
0x0007  2            0  R_ERR response for host-to-device non-data FIS
0x0008  2            0  Device-to-host non-data FIS retries
0x0009  4            5  Transition from drive PhyRdy to drive PhyNRdy
0x000a  4            5  Device-to-host register FISes sent due to a COMRESET
0x000f  2            0  R_ERR response for host-to-device data FIS, CRC
0x0010  2            0  R_ERR response for host-to-device data FIS, non-CRC
0x0012  2            0  R_ERR response for host-to-device non-data FIS, CRC
0x0013  2            0  R_ERR response for host-to-device non-data FIS, non-CRC
2 Likes

Try to regenerate the relevant configs/initramfs once again:

sudo grub2-editenv create
sudo grub2-mkconfig -o /etc/grub2$(test -d /sys/firmware/efi && echo -efi).cfg
sudo dracut -f --regenerate-all

I regenerated the relevant configs/initramfs as described, but booting with the most current kernel failed again with the same behaviour. Booting with the old rescue kernel was possible.

What is the main difference between the current kernel and the rescue kernel?

Thank you

1 Like

The resulting boot entries are here:

/boot/loader/entries

The script generating images should be here:

> rpm -q -l dracut-config-rescue
/usr/lib/dracut/dracut.conf.d/02-rescue.conf
/usr/lib/kernel/install.d/51-dracut-rescue.install

You can try to find some clues.

On the other hand, it may be worth reporting the issue.

I reported the issue.
Meanwhile I helped myself with a new SSD and a new installation of Fedora33/Mate. Since then I have no problems while booting.

1 Like