Я случайно удалил образ initrd в моей системе. Как мне его восстановить?
Образ initrd для каждого ядра создается во время установки ядра из модулей и приложений на машине. Вы можете просто собрать отсутствующий initrd, используя следующую команду:
update-initramfs -c -k <version>
(Не забудьте заменить в соответствующей версии для вашего ядра.)
Это лучший способ решить проблему OP, опубликованную в комментариях.
Я пытаюсь использовать initrd из livecd в моей установке Ubuntu. Удалил это случайно. - Биной Бабу
blockquote>Чтобы создать initramfs, сначала загрузите альтернативное ядро (старшее в порядке)
Затем выполните
sudo mkinitramfs 3.2.0-15-generic-pae -o /boot/initrd.img-3.2.0-15-generic-pae
У меня нет Установлено ядро pae, если «3.2.0-15-generic-pae» не работает, перечислите содержимое
/lib/modules
, чтобы получить имяls /lib/modules
Если у вас нет более старого ядра, вы можете загрузить live CD и использовать
chroot
:
Сначала смонтируйте корневой раздел:
mount -t ext4 /dev/sdX /mnt
. Убедитесь, что вы используете правильное имя раздела и введите эту команду. Используйте команды, такие какlsblk
,blkid
и т. Д., Чтобы найти правильный раздел.[Необязательно] Если у вас есть отдельное монтирование загрузочного раздела, следующее:
mount -t ext4 /dev/sdY /mnt/boot
Далее выполните монтирование всех виртуальных файловых систем, необходимых команде
makeinitramfs
... mount --bind / proc / mnt / proc mount --bind / sys / mnt / sys mount --bind / dev / dev / procТеперь переключитесь на [ 119] и выполните команду
makeinitramfs
, как описано выше.
Это - ответ на исходный вопрос, как извлечь initrd.lz из живого CD, обычно используемого, если Вы делаете пользовательский живой CD.
скопируйте initrd.lz в рабочий каталог ( ~
)
cp /media/cdrom/initrd.lz ~
Сделайте каталог для извлечения содержания к, я буду использовать initrd
, CD в каталог
mkdir ~/initrd
cd ~/initrd
Извлечение
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames
Внесите любые изменения, в которых Вы, возможно, нуждались бы, перепакет
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../cusotm.initrd.lz
Ваш новый initrd будет в Вашем корневом каталоге и назван cusotm.initrd.lz