LINUX.ORG.RU

Помогите разобраться.

 , ,


0

1

После изменения размера раздела, у меня изменились UUID, в итоге GRUB не может подгрузить систему.

Помогите разобраться в синтаксисе grub.cfg и как эти параметры звгрузить в загрузчик?

set root='lvmid/iV21Vu-2yQg-ReoA-tLc2-ThSu-lNnG-M6L986/ZQ0suR-7X45-odLF-2AAB-zAlg-dcZR-b1Mp6I'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/iV21Vu-2yQg-ReoA-tLc2-ThSu-lNnG-M6L986/ZQ0suR-7X45-odLF-2AAB-zAlg-dcZR-b1Mp6I'  28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e
else
  search --no-floppy --fs-uuid --set=root 28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod diskfilter
	insmod mdraid1x
	insmod raid5rec
	insmod ext2
	set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
	else
	  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
	fi
	echo	'Загружается Linux 4.9.0-1-amd64 …'
	linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
	echo	'Загружается начальный виртуальный диск …'
	initrd	/initrd.img-4.9.0-1-amd64
}
submenu 'Дополнительные параметры для Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
	menuentry 'Debian GNU/Linux, с Linux 4.9.0-1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-1-amd64-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 4.9.0-1-amd64 …'
		linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-4.9.0-1-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.9.0-1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-1-amd64-recovery-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 4.9.0-1-amd64 …'
		linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro single 
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-4.9.0-1-amd64
	}
	menuentry 'Debian GNU/Linux, с Linux 3.16.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 3.16.0-4-amd64 …'
		linux	/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-3.16.0-4-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-recovery-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 3.16.0-4-amd64 …'
		linux	/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/raid_md1-root_dir ro single 
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-3.16.0-4-amd64
	}
}

Собственно выхлоп в live Ubuntu

$ sudo blkid -c /dev/null
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="f7cc0ad6-690b-0251-f0a5-48102fea1e57" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="bce4fe2f-01"
/dev/sda2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="96dc681f-d813-6937-0392-8a125bbc9510" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="bce4fe2f-02"
/dev/sdb1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="b0627983-9b0f-5a71-f0ce-eb8d7b730a90" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="66598e88-01"
/dev/sdb2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="237de0e8-f3bb-c046-e7c1-e839ee9696f6" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="66598e88-02"
/dev/sdc1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="f8ecbd3e-6b71-fc74-c8b0-75a9c7c8cb9c" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="f1ffa696-01"
/dev/sdc2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="08e3eb7e-95f1-7639-5247-51471bc42496" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="f1ffa696-02"
/dev/sdd1: UUID="Gy0g76-3thD-nymq-igwK-xVTo-kxIV-4VK0X8" TYPE="LVM2_member" PARTUUID="23113063-01"
/dev/sde1: LABEL="UBUNTU 16_0" UUID="7266-DE18" TYPE="vfat" PARTUUID="001d9b55-01"
/dev/mapper/mountdisk-mountdisk: UUID="697681f7-f6eb-4c63-b27e-28da3eb99263" TYPE="ext4"
/dev/md0: UUID="a399b505-ab26-4a6b-863c-ca2032007be3" TYPE="ext4"
/dev/md1: UUID="ZjdOxq-teEM-znyG-lhb9-8CrO-oFDA-5UqgCM" TYPE="LVM2_member"
/dev/mapper/raid_md1-swap: UUID="9b554ec5-7c8d-4816-8a71-b57b37ddf735" TYPE="swap"
/dev/mapper/raid_md1-tmp: UUID="5e9a583f-e224-4e67-b4f2-8da947d0ec73" TYPE="ext4"
/dev/mapper/raid_md1-var: UUID="122fd4ef-5392-487f-9b7f-d33d41566f13" TYPE="ext4"
/dev/mapper/raid_md1-archive: UUID="a4442e7f-59c4-4cd2-8d87-e14b3fe2d760" TYPE="ext4"
/dev/mapper/raid_md1-log: UUID="4c12bd86-c684-4571-9c43-8cd297b8814e" TYPE="ext4"
/dev/mapper/raid_md1-root_dir: UUID="28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e" TYPE="ext4"

Если сам в конфиге разобраться не можешь, то update-grub2 запусти, он конфиг перегенерит.

tiandrey ★★★★★ ()
Последнее исправление: tiandrey (всего исправлений: 1)
Ответ на: комментарий от tiandrey

С livecd прямо запустить? Я что-то не уверен, что он подхватит массив с LVM автоматом.

Krishnoved ()

После изменения размера раздела, у меня изменились UUID, в итоге GRUB не может подгрузить систему.

Ты что-то недоговариваешь. Ресайз раздела не меняет UUID

router ★★★★★ ()
Ответ на: комментарий от router

Я лишь говорю, после чего это произошло. Может я неаккуратно под live-cd массив подмонтировал. Не могу сказать.

Вопрос в том, как решить вопрос по факту.

Krishnoved ()
Ответ на: комментарий от Krishnoved

Я лишь говорю, после чего это произошло. Может я неаккуратно под live-cd массив подмонтировал. Не могу сказать.

И тем не менее, тебе нужно понять, где ты накосячил, чтобы исправить ситуацию

На каком этапе останавливается загрузка?

  • до grub вообще дело не доходит
  • grub начинает загружаеться, но не может найти свои модули и конфиг, и выкидывает rescue shell ( или как его там )
  • grub полностью загружается, но не может найти ядро/ramdisk
  • grub нашёл ядро и ramdisk, загрузил их в память и передал управление, но ядро не может найти/смотнтировать root
  • ошибка в процессе загрузки ОСи
  • свой вариант

желательно привести скриншот

У меня есть подозрение, что ты повредил сам grub ( то, куда он был установлен ) и grub выкидывает resque shell В этом случае тебе не конфиг нужно перегенерить, а переустановить grub ( grub-install ) Для этого нужно смонтировать из-под livecd /, /boot, затем через bind смонтировать /sys, /dev, /proc, выполнить chroot и уже после этого grub-install ( с указанием, куда нужно установить grub ) и update-grub ( без параметров )

Как чуть более простой вариант, тебе нужно собрать grub livecd, загрузиться с него и вручную загрузить ядро и ramdisk так, как прописано в твоём конфиге grub. После этого ОСь загрузится. Но устанавливать загрузчик заново придётся всё равно

router ★★★★★ ()
Ответ на: комментарий от router

Первоначально ругался на UUID и выходил на rescue shell. Полагаю, что ядро не могло найти root. После grub-install стала выходить лишь консоль grub

Krishnoved ()
Ответ на: комментарий от Krishnoved

Первоначально ругался на UUID и выходил на rescue shell.

Значит, grub не может найти свои модули и конфиг

Полагаю, что ядро не могло найти root.

Незачёт. Полное незнание матчасти

Ядро не возвращает управление в grub. Если ядро не может найти /, в зависимости от состава ramdisk может быть викинуто приглашение ввести рутовый пароль и забороть проблему вручную, либо kernel panic

После grub-install стала выходить лишь консоль grub

Значит, не туда установил

router ★★★★★ ()
Ответ на: комментарий от Krishnoved

зачем для live-cd делать grub загрузчик.

Наоборот. Это livecd, который успешно загрузит полноценный grub v1. Из него уже грузи всё, что хочешь.

Для grub v2 livecd собирается по-другому. Мне обычно хватает первого.

router ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.