Обновление до 12.04LTS дампов для загрузочного ящика при загрузке

4

Я только что обновил свой сервер с 10.04LTS до 12.04 LTS, используя описанный здесь процесс обновления сервера: Ссылка .

При загрузке меня теперь сбрасывают в оболочку busybox (подробнее об этом в одно мгновение). Однако, если я загружу ядро ​​из предыдущей версии, все загрузится нормально.

Единственная особенность моей конфигурации заключается в том, что мое загрузочное устройство является многодисковым устройством, использующим RAID1. Когда я добираюсь до оболочки busybox, наберите «mount / dev / md0 / root» работает отлично. Я пробовал прохождение в rootdelay = 30, и я сбрасывался в оболочку в течение 5 секунд с момента загрузки.

В отличие от отмеченного здесь вопроса: Обновлено с 10.04 до 12.04, а grub - в приглашение BusyBox без ошибок Я не загружался с опцией splash или quiet, и у меня не было жалоб на деградированный массив. Тем не менее, я попытался загрузиться с опцией bootdegraded kernel, и это тоже не сработало.

Любые мысли о том, что попробовать?

(И да, блок питания подключен :-))

Информация о конфигурации:

Версия Grub: grub (GNU GRUB 0.97)

Большинство параметров grub menu.lst закомментированы (чтобы использовать значения по умолчанию). Самое последнее ядро, которое не работает:

title           Ubuntu 12.04.2 LTS, kernel 3.2.0-51-generic-pae
root            (hd0,1)
kernel          /boot/vmlinuz-3.2.0-51-generic-pae root=/dev/md0 ro
initrd          /boot/initrd.img-3.2.0-51-generic-pae
quiet

Самое последнее ядро, которое работает:

title           Ubuntu 12.04.2 LTS, kernel 2.6.32-46-generic-pae
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.32-46-generic-pae root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.32-46-generic-pae
quiet

Информация о mdadm:

[email protected]:/boot/grub$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Sat Dec 16 22:27:17 2006
     Raid Level : raid1
     Array Size : 57609024 (54.94 GiB 58.99 GB)
  Used Dev Size : 57609024 (54.94 GiB 58.99 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Sep  2 17:02:27 2013
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 5c92f0d9:9cf5be95:03611c5e:a540b92f
         Events : 0.24172972

    Number   Major   Minor   RaidDevice State
       0       8       18        0      active sync   /dev/sdb2
       1       8        2        1      active sync   /dev/sda2

Данные устройства Md, видимые ядром:

[email protected]:~$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda2[1] sdb2[0]
      57609024 blocks [2/2] [UU]

unused devices: <none>
    
задан Garrett Kajmowicz 13.06.2013 в 01:07
источник

1 ответ

1

Это вызвано нечетной конфигурацией, а также изменением сценариев загрузки.

Во-первых, зеркальное устройство / dev / md0 не имеет таблицы разделов. Он рассматривается как необработанное блочное устройство с файловой системой непосредственно на нем. В экстренных случаях это позволяет напрямую загружать поддерживающее устройство (/ dev / sda2 или / dev / sdb2). Ранее была установлена ​​недолговечная установка LVM на этом разделе, но это считалось ненужным, поэтому устройство было повторно инициализировано как необработанное устройство ext3. Однако это не удалило все следы LMV. Это приводит к тому, что утилита wait-for-root возвращает «LVM2_member» в качестве типа устройства. Он сделал это все время.

Во-вторых, обновления скриптов сценариев / локальных скриптов изменили команду mount из:

mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt}

в

mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}

Гора теперь терпит неудачу, потому что мы вынуждаем тип файловой системы в команду mount. В этом случае тип «LVM2_member» не работает вообще - нам нужен ext3. Старая версия работала, потому что mount легко мог определить, что это файловая система ext3.

Краткосрочная работа для этого - передать rootfstype = ext3 в строке загрузки ядра. Это игнорирует неправильно установленный тип файловой системы и указывает ext3 для монтирования.

    
ответ дан Garrett Kajmowicz 08.10.2013 в 16:53