Назад | Перейти на главную страницу

установить grub 0.97 на новый диск емкостью 4 ТБ

Наклоненный вопрос, но я не могу понять, почему это не работает.

У меня ядро ​​2.18 rhel 5.5. Я клонирую ОС с диска 750 ГБ на другой диск 4 ТБ.

Я разделил диск на 2 раздела.

  1. 10 гб sda1
  2. 40 гб sda2

Я клонирую данные с диска 750 ГБ на 4 ТБ с помощью rsync.
chroot на диск 4 ТБ и попробуйте установить grub.
Я устанавливаю grub на sda1 двумя способами

1) grub-install /dev/sda1 - не получается сказать то, что не вижу этап 1 и этап2.

grub/device map is ok ( consist hd0 sda )

2) echo -en 'root (hd0,0)\nsetup (hd0)'| grub --batch. Это пакетный режим grub. Процесс установки завершается нормально, но после этого он не загружается (я писал об этом далее).

Я пытаюсь сделать это с помощью gpt и старого fdisk (таблица msdos)
Я знаю какой диск больше 2ТБ сделать разорванным с gpt.

Когда я расстался gparted тогда это первая часть с id = 0xee. Если я загружаю систему, то grub выдает ошибку «неизвестный тип раздела». Если я выбрал grub (по типу детали) id=0x83 grub сказать - "unknown filesystem". И многое другое. После загрузки с livecd gparted может видеть только один раздел (только sda1 и не видит sda2) почему?

Когда я разделил диск 4 ТБ с помощью fdisk и установил его в пакетном режиме grub. Затем я загружаю grub, он закончился с ошибкой 5 после этапа загрузки 1.5.

Я решаю свою проблему dd if=/dev/sda of=/dev/sdb но это так глупо. Почему я не могу разобрать диск 4 ТБ gparted и он не может работать?
Направь меня к правильной цели.

Тип перегородки 0xee - фиктивная запись в таблице разделов MBR, сообщающая вещам, не связанным с GPT, что диск занят чем-то, чего они не понимают.

Версия GRUB в RHEL 5.5 не будет понимать разбиение в стиле GPT: она будет знать только о MBR.

Если вам необходимо поддерживать такие старые системы, стандартная рекомендация - виртуализировать их, если это вообще возможно. Виртуализация обычно дает вам инструменты для предоставления дискового пространства виртуальной машине способами, не привязанными к размеру реального физического диска (ов). В этом случае вы можете представить диск 4 ТБ как несколько виртуальных устройств, каждое размером 2 ТБ или меньше.


Если вы не можете виртуализировать эту систему, возможно, есть один грязный взлом. Не пытайтесь сделать это, не убедившись, что вы понимаете процедуру и ее последствия. Если вы обновите свое оборудование до того, что поддерживает GPT на уровне прошивки, эта установка, скорее всего, перестанет работать ... но тогда у вас все равно появятся новые способы решения вашей проблемы.

Сначала создайте таблицу разделов GPT с нужными разделами. Раздел, содержащий ваш /boot каталог (= обычно либо ваша корневая файловая система, либо выделенная /boot файловая система) должна полностью находиться в пределах первых 2 ТБ диска. Запишите точные номера начальных и конечных блоков этого раздела. Установите тип раздела GPT на обычную «файловую систему Linux» на каждом разделе.

При создании таблицы разделов GPT, gparted также будет создан «защитный» поддельный раздел MBR, имеющий тип 0xee и охватывает весь диск, начиная с блока № 1 и заканчивая максимально возможным значением для MBR, равным 2 ТБ.

Следующим шагом будет тщательное редактирование таблицы разделов MBR с помощью fdisk так что у него есть один раздел с типом раздела MBR 0x83 и значения его начального и конечного блока точно соответствует первый раздел, указанный в таблице разделов GPT. Вы даже можете пометить этот раздел MBR как активный, чтобы BIOS точно определил диск как загрузочный. Вторая запись раздела должна охватывать остальную часть диска (до 2 ТБ) и иметь тип 0xee.

Теперь у вас будет гибридный схема разбиения, в которой первый раздел будет распознаваться схемами разбиения как MBR, так и GPT, но второй раздел (тот, который превышает 2 ТБ) будет действителен только при схеме разбиения GPT.

Устанавливая GRUB 0.97 на такой диск, вы должны помнить, что вы не можете встроить GRUB stage1.5 в область после MBR и перед началом разделов, поскольку в этой области находится таблица разделов GPT. Вы не хотите его повредить. Чтобы этого не произошло, вам может потребоваться использовать install в оболочке GRUB для установки загрузчика, а не полагаться на автоматизацию, обеспечиваемую grub-install или setup команда оболочки GRUB.

Теперь, когда система загружается, BIOS должен увидеть действительную MBR с одним допустимым загрузочным разделом (и одним странным 0xee вещь, которую он может игнорировать). BIOS прочитает MBR и выполнит в ней загрузочный код, что станет первым этапом GRUB 0.97.

GRUB теперь будет использовать функции BIOS для загрузки своего второго этапа из предварительно записанной позиции в первом разделе, затем активирует поддержку собственной файловой системы (все еще используя функции BIOS для низкоуровневого доступа к диску) и прочитает menu.lst файл, ядро ​​Linux и файлы initrd из указанного «корневого раздела GRUB» и запустить ядро ​​Linux. На этом работа GRUB завершена.

Теперь ядро ​​Linux запускается и загружает собственные драйверы хранилища из initrd. В отличие от BIOS, Linux теперь может обращаться к полной емкости диска и понимать таблицу разделов GPT (RHEL поддерживает GPT, начиная с RHEL 4). Поскольку существует допустимая таблица разделов GPT, MBR является вторичной и игнорируется. Linux увидит и сможет использовать оба раздела.

Ядро 2.18 действительно старое, но оно должно поддерживать разделы GPT. Использование GRUB 0.97 для загрузки с раздела GPT не должно быть проблемой, но вам нужна файловая система, которую понимает GRUB. Если GRUB говорит unknown filesystem, то файловая система, вероятно, неизвестна GRUB. Вы не упомянули, какую файловую систему используете. Изменение файловой системы не меняет тип файловой системы на диске, это просто указывает, какую файловую систему следует ожидать внутри раздела.

Раздел с 1 ГБ в начале диска с файловой системой EXT2 подойдет. Скопируйте файлы, обычно ожидаемые GRUB, в этот раздел, затем запустите GRUB и выполните следующие команды:

device (hd0) /dev/sda
root (hd0,0)
setup (hd0)

Теперь ваш диск должен загрузиться.