web-dev-qa-db-ja.com

ブートの問題-長時間の遅延、その後「ルートデバイスを待つのをやめる」

私はこの問題を約2年間オンとオフに切り替えました。 10.04を実行している新しい(カスタムビルドされた)マシンで最初に出てきたときに気付きましたが、数か月前まで消えていました。私は多くのハードドライブの変更を行ってきましたが、ハードウェアごとに変更を行って停止または開始するように変更した場合、具体的に言うことはできません。最新のUbuntuバージョンにアップグレードすると問題が解決すると想定していたので、昨夜スペアパーティションに12.04ベータ版をインストールしましたが、それはまだ起こっています。

ここに問題があります。 grubがロードされ、ブートするカーネルを選択した後、カーソルが点滅するまで画面が空白になります。この状態が長時間続くと、最終的にあきらめ、メッセージgave up waiting for root device(および待機していた/dev/disk/by-uuid/...パスをリストする)を含むinitramfsシェルを提供しますが、他の特定の診断情報は提供しません。

さて、ここからが難しい部分です。たとえば、問題は断続的です-点滅するカーソルからUbuntuのスプラッシュブート画面に数秒で進行する場合があります。本当に奇妙なことは、スペースバーを繰り返し押してマシンの電源ボタンを押すことで、ルートデバイスを「強制的に」「見つける」ことができるということです。それらを十分にタップすると、最終的にハードドライブのライトが点灯していることに気付くでしょう。この時点で、数秒後に常にブートプロセスが続行されます。興味深いことに、電源ボタンを押す前に少し長めに待機すると(30秒?)、押すとすぐに放棄された待機メッセージとinitramfsシェルが表示されます。

UUIDの代わりにデバイス名(たとえば/etc/fstab)を使用するようにmenu.lst(およびgrub /dev/sda1または最近呼ばれているもの)を設定しようとしましたが、エラーメッセージ内のデバイス名。UUIDではありません。

また、Windows 7を起動したときに問題が発生しないことにも言及する必要があります。 Windowsであるために、常にゆっくり起動しますが、無期限にハングすることはありません。これは、ハードウェアではなく、Ubuntuの問題であることを示しているようです。

コンピューターを起動するたびにベビーシッターをしなければならないのはかなり面倒です。何か案は?私は迷っています。問題の診断方法すらわかりません。ありがとう!

編集:

10.04からのdmesgの出力を次に示します。 15秒のギャップは、何もしていない場所です。電源ボタンとスペースバーを数回押したところ、16秒で問題が発生しました。その意味がわからない。

[    1.320250] scsi18 : ahci
[    1.320294] scsi19 : ahci
[    1.320320] ata19: SATA max UDMA/133 abar m8192@0xfd4fe000 port 0xfd4fe100 ir
q 18
[    1.320323] ata20: SATA max UDMA/133 abar m8192@0xfd4fe000 port 0xfd4fe180 ir
q 18
[    1.403886] usb 2-4: new high speed USB device using ehci_hcd and address 4
[    1.562558] usb 2-4: configuration #1 chosen from 1 choice
[   16.477824] ata16: SATA link down (SStatus 0 SControl 300)
[   16.477843] ata19: SATA link down (SStatus 0 SControl 300)
[   16.477857] ata3: SATA link down (SStatus 0 SControl 300)
[   16.477895] ata15: SATA link down (SStatus 0 SControl 300)
[   16.477906] ata20: SATA link down (SStatus 0 SControl 300)
[   16.477977] ata17: SATA link down (SStatus 0 SControl 300)
[   16.478003] ata12: SATA link down (SStatus 0 SControl 300)
[   16.478046] ata13: SATA link down (SStatus 0 SControl 300)
[   16.478063] ata14: SATA link down (SStatus 0 SControl 300)
[   16.478108] ata11: SATA link down (SStatus 0 SControl 300)
[   16.478123] ata18: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   16.478127] ata6: SATA link down (SStatus 0 SControl 300)
[   16.478157] ata5: SATA link down (SStatus 0 SControl 300)
[   16.478193] ata18.00: ATAPI: MARVELL VIRTUALL, 1.09, max UDMA/66

その後、それはその甘い時間を取りました、そして私はそれに沿ってそれを同軸化するためにスペースバーを押し続ける必要がありました。ブートプロセスの少し後からのdmesgの出力を次に示します。

[   17.982291] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00
:13.0/usb5/5-2/5-2:1.0/input/input4
[   17.982335] generic-usb 0003:046E:5506.0002: input,hidraw1: USB HID v1.10 Key
board [BTC USB Multimedia Keyboard] on usb-0000:00:13.0-2/input0
[   18.005211] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00
:13.0/usb5/5-2/5-2:1.1/input/input5
[   18.005274] generic-usb 0003:046E:5506.0003: input,hiddev96,hidraw2: USB HID 
v1.10 Device [BTC USB Multimedia Keyboard] on usb-0000:00:13.0-2/input1
[   22.484906] EXT4-fs (sda6): INFO: recovery required on readonly filesystem
[   22.484910] EXT4-fs (sda6): write access will be enabled during recovery
[   22.548542] EXT4-fs (sda6): recovery complete
[   22.549074] EXT4-fs (sda6): mounted filesystem with ordered data mode
[   32.516772] Adding 20482832k swap on /dev/sda5.  Priority:-1 extents:1 across:20482832k 
[   32.742540] udev: starting version 151
[   33.002004] Bluetooth: Atheros AR30xx firmware driver ver 1.0
[   33.008135] parport_pc 00:09: reported by Plug and Play ACPI
[   33.008186] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   33.012076] lp: driver loaded but no devices found
[   33.037271] ppdev: user-space parallel port driver
[   33.090256] lp0: using parport0 (interrupt-driven).

そこに何か手がかりがありますか?

さらに編集:

失敗した場合のinitramfs busyboxシェルからのdmesg出力のスクリーンショット: normalwithout quiet splash on the linux line

fossfreedomの提案 いくつかのブートオプションを試してみました。 これまでのところ、irqpollは実際に機能しているようです!これまでに4回正常に起動しました。

(補足として、irqpollを取得することはできません。/etc/default/grubを編集してGRUB_CMDLINE_LINUX_DEFAULTに追加し、update-grubを実行しましたが、まだ何もしていません。行方不明ですか?) (他のubuntusをインストールするときに、どういうわけかgrubにホースがかかっていました。それを修正して、現在irqpollが常に表示されています。)

それを考えると、ここでの問題は何ですか? irqpollは、Linuxで動作するために何らかのIRQ標準に準拠していないBIOSを取得するためのハックのようです。どのコンポーネントが問題であるかをどのように把握できますか?Linuxにそれをうまく動作させる別の解決策はありますか?

3
chazomaticus

最新のdmesgメッセージは面白そうです。

私が所有している1台のラップトップで起動中に同様のプレススペースタイプの問題を見てきました。

私が見つけた解決策は、noapicまたはnolapic grubブートパラメーターをgrubに追加することでした。

コミュニティwikiに従って試すことができるgrubブートオプションがいくつかあります。

https://help.ubuntu.com/community/BootOptions

したがって、noapicacpi=offなどの標準的な回避策のgrubブートオプションが機能しない場合、他の一般的なオプションの一部が機能する可能性があります。

Grubブートオプションをテストする場合、ここでの回答を使用して、ブート時にカーネルオプションを一時的に追加できます。

buntuをインストールした後、「nomodeset」を設定するにはどうすればよいですか?


irqpoll

wikiから:カーネルが割り込み呼び出しを処理する方法を変更します(ポーリングに設定します)。ハードウェア割り込みの問題の場合に役立ちます。

  irqpoll         [HW]
                        When an interrupt is not handled search all handlers
                        for it. Also check all handlers each timer
                        interrupt. Intended to get systems with badly broken
                        firmware running

ソース

したがって、カスタムビルドコンピューターがあるため、コンピューターを構成する1つ以上のコンポーネントである可能性が非常に高くなります。どれが探偵の仕事を必要とするかを発見する。

最も簡単な方法は、コンピューターを基本に単純化することです。固定キーボード、シンプルなマウス、オンボードグラフィックス、オンボードイーサネットなどを使用します。つまり、使用しているすべてのPCIカード/ USBコンポーネントを引き出します。次に、それぞれを1つずつ追加します。

単純化されたビルドでirqpollがまだ必要な場合は、マザーボードを詳しく調べる必要があります。製造元のサイトを見て、ファームウェアの更新があるかどうかを確認します-ほとんどの場合、これらをフラッシュするにはdos-bootが必要です。

2
fossfreedom

デバイスをマウントしようとしています。 「起動時/ GRUBアクション中」に「s」を押すと、マウントプロセスがスキップされ、エラーは表示されません。 UUID番号を参照するfstabファイルを編集する必要があります。例:

Sudo gedit /etc/fstab
UUID=sda2

回線を完全に削除します。保存して閉じます。次に再起動します。

0
Ringtail