проблемы с загрузкой - долгая задержка, после чего & ldquo; перестала ждать корневое устройство

У меня была эта проблема в течение двух лет. Я заметил это на новом (специально построенном) компьютере, работающем 10.04, когда тот впервые вышел, но потом он ушел, пока несколько месяцев назад. Я прошел через ряд изменений на жестком диске, но я не могу сказать, что конкретно, если что-то я изменил аппаратно, чтобы это прекратилось или началось. Я предполагал, что обновление до современной версии Ubuntu решит проблему, поэтому вчера вечером я установил бета-версию 12.04 на запасной раздел, но это все еще происходит.

1117 Вот в чем проблема. После загрузки grub и выбора ядра для загрузки экран становится пустым, за исключением мигающего курсора. Он находится в этом состоянии в течение многих долгих минут, прежде чем, наконец, сдается и дает мне оболочку initramfs с сообщением gave up waiting for root device (и перечисляет путь /dev/disk/by-uuid/..., которого он ожидал), но без другой конкретной диагностической информации.

1118 Теперь вот сложная часть. С одной стороны, проблема временная - иногда она переходит от мигающего курсора к экрану начальной загрузки Ubuntu за несколько секунд, и, как только он заходит так далеко, он всегда продолжает нормально загружаться. Действительно странная вещь заключается в том, что я могу «заставить» его «найти» корневое устройство, многократно нажимая клавишу пробела и нажимая кнопку питания машины. Если я коснусь этого достаточно, в конце концов я заметю, что загорается индикатор жесткого диска, после чего он всегда продолжит процесс загрузки через несколько секунд. Интересно, что если я жду немного слишком долго, прежде чем нажать кнопку питания (30 с?), Как только я нажимаю ее, я получаю сообщение об отказе от ожидания и оболочку initramfs.

Я попытался настроить /etc/fstab (и grub menu.lst или как там это называется) для использования имен устройств (например, /dev/sda1) вместо UUID, но я получаю тот же эффект только с именем устройства , а не UUID, в сообщении об ошибке.

Я также должен упомянуть, что при загрузке Windows 7 проблем не возникает. Он загружается медленно все время только благодаря Windows, но никогда не зависает бесконечно. Это может указывать на то, что проблема в Ubuntu, а не в аппаратном обеспечении.

Довольно раздражает необходимость присматривать за компьютером каждый раз, когда он загружается. Есть идеи? Я в недоумении. Даже не уверен, как диагностировать проблему. Спасибо!

РЕДАКТИРОВАТЬ:

Вот некоторые результаты dmesg от 10.04. 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).

Есть какие-нибудь подсказки?

ДАЛЬНЕЙШЕЕ РЕДАКТИРОВАНИЕ:

Некоторые скриншоты вывода dmesg из Оболочка initramfs busybox при сбое: normal without quiet splash on the linux line

Я попробовал предложение fossfreedom о попытке выбора параметров загрузки. Пока, похоже, что irqpoll на самом деле работает! Я успешно загрузился с ним четыре раза.

(В качестве примечания, я не могу заставить irqpoll придерживаться - я отредактировал /etc/default/grub, чтобы добавить его к GRUB_CMDLINE_LINUX_DEFAULT, и запустил update-grub, но все еще ничего. Что я отсутствует?) (Мой grub каким-то образом скрывался при установке другого убунта. Я исправил его и теперь всегда вижу irqpoll.)

Учитывая, в чем здесь проблема? Похоже, что irqpoll - это хак, чтобы получить BIOS, которые каким-то образом не придерживаются какого-либо стандарта IRQ для работы с Linux. Как мне выяснить, с каким компонентом связана проблема, и есть ли другое решение, позволяющее Linux хорошо играть с ним, которое не включает в себя то, что звучит так много накладных расходов?

3
задан 13 April 2017 в 15:24

2 ответа

Ваше последнее dmesg сообщения выглядят интересными.

Я видел подобные проблемы типа пространства нажатия во время начальной загрузки на одном ноутбуке, которым я владел.

Решение, которое я нашел, состояло в том, чтобы добавить к личинке noapic или nolapic параметр начальной загрузки личинки.

Существует много параметров загрузки личинки, которые можно попробовать согласно общественной Wiki:

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

Таким образом, если стандартные параметры загрузки личинки обходного решения такой как noapic или acpi=off не работайте на Вас, некоторые из других общих опций могли работать на Вас.

При тестировании параметра загрузки личинки Вы могли использовать мой ответ здесь для временного добавления опций ядра во время начальной загрузки.

Как я устанавливаю 'nomodeset' после того, как я уже установил Ubuntu?


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

источник

Таким образом - и так как у Вас есть сделанный на заказ компьютер - это, очень вероятно, будут один или несколько компонентов, которые составляют Ваш компьютер. Обнаружить, какой потребует небольшого количества расследования.

Самый легкий путь состоял бы в том, чтобы только упростить Вас, компьютер к основам - использует фиксированную клавиатуру, простую мышь, встроенную графику, встроенный Ethernet и ничто иное. т.е. вытащите все компоненты карт/USB PCI, которые Вы используете. Затем включите каждый назад по одному.

Если Вы находите, что Вам все еще нужно irqpoll на упрощенной сборке - затем необходимо будет более тщательно изучить материнскую плату. Посмотрите на сайт производителя и посмотрите, существуют ли какие-либо микропрограммные обновления - по всей вероятности Вы должны будете к начальной загрузке DOS высветить их.

2
ответ дан 13 April 2017 в 15:24

Он пытается смонтировать устройство. Если «при загрузке / во время действия GRUB» нажать «s», процесс монтирования будет пропущен, и ошибок не будет. Вам нужно будет отредактировать файл fstab, ссылающийся на номер UUID. Пример:

sudo gedit /etc/fstab
UUID=sda2

УДАЛИТЬ ЛИНИЮ ПОЛНОСТЬЮ. Сохрани и закрой. Затем перезагрузите компьютер.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: