Debian

Debian Jessie 在啟動時掛起

  • April 24, 2019

安裝核心 4.6 後,我們用 Debian 8.5 Jessie 啟動了一個開發伺服器。它不會超過錯誤消息“設置 LVM 卷組”。

VM 有 Debian 8,帶有反向移植儲存庫,使用 sysV 而不是 systemd 引導,並使用 LVM。

我可以使用 knoppix 實時映像啟動它,並使卷組中的 6 個 LVM 分區顯示為:

vgchange -ay 

我還能夠掛載 LVM 分區並對其進行編輯,因此這似乎不是任何 LVM 問題。

我還利用這一點以自然順序掛載所有分區,包括掛載綁定 proc、sys 和 dev,從而執行 chroot 以更自然地執行其他調試/修復命令。

已經嘗試將引導算法更改為CONCURRENCY=none/ legacy 但沒有多大成功。

還重新生成了initrd文件,在升級核心時伺服器是否已填滿磁碟空間,使用以下命令:

sudo dpkg-reconfigure linux-image-4.6.0-0.bpo.1-amd64 

它也沒有任何區別。

我還重新安裝了 grub,使用:

sudo update-grub
sudo grub-install /dev/sda

它也沒有工作。

我還在核心選項中添加了調試選項grub,但是,系統在啟動時既不列印相關錯誤,也不在錯誤後列印任何其他消息。

也沒有任何日誌或dmesg要檢查的日誌,因為此時在引導時,syslog 仍然無法正常工作。

我最終將有問題的腳本定位為/etc/rcS.d/S05lvm2,並將在該腳本中停止 VM 的命令定位為/sbin/lvm vgchange -aay --sysinit >/dev/null

從源文件中可以看出,依賴關係S05lvm2有:

# Should-Start:      udev mdadm-raid cryptdisks-early multipath-tools-boot

最終,我突然意識到有人或某事udev在啟動時禁用了守護程序(在上次成功啟動後不久)。我還確定它不是核心安裝後常式禁用udev

未滿足服務依賴關係的 init 腳本udev停滯不前,等待從未滿足的依賴關係,或等待從未出現的設備(或兩者兼而有之)。

該問題已在上述 chroot 中修復:

sudo chkconfig udev on

(我們是否已安裝chkconfig)。以 Debian 的方式,它將是:

sudo update-rc.d udev defaults

接下來重新製作 initrd 文件(Debian 輕鬆重新生成 initrd 文件的技巧):

sudo dpkg-reconfigure linux-image-4.6.0-0.bpo.1-amd64

引用自:https://unix.stackexchange.com/questions/305343