Сегодня пришлось помучится с установкой нового сервера под ОС CentOS6. На хостинге имелась возможность заказать бесплатную установку ОС. Сервер с 2-мя дисками по 2Т. Разбиение после автоустановки оказалось не подходящим мягко говоря:
# fdisk -l
Диск /dev/sda: 2000.4 ГБ, 2000398934016 байт
******
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 524 243201 1949311035 83 Linux
/dev/sda2 1 523 4200966 82 Linux своп / Solaris
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 2000.4 ГБ, 2000398934016 байт
*******
Разбил как нужно sdb:
# fdisk -l /dev/sdb
Диск /dev/sdb: 2000.4 ГБ, 2000398934016 байт
******
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 64 512000 83 Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sdb2 64 19646 157286400 83 Linux
Раздел 2 не заканчивается на границе цилиндра.
Создал файловые системы, подмонтировал, скопировал данные с sda.
При попытке установить загрузчик grub на sdb:
# grub-install --recheck --no-floppy /dev/sdb
Probing devices to guess BIOS drives. This may take a long time.
The file /boot/grub/stage1 not read correctly.
Если делать из консоли grub:
# grub
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15t: File not found
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 27 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+27 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
Файл /boot/grub/stage1 находится на диске. Что за хрень?
Оказывается, старый grub не поддерживает 256 битные inode, которые были введены для легкой миграции на ext4.
Проверить размер инод на файловой системе можно так:
# tune2fs -l /dev/sda1 | grep -i 'inode size'
Inode size: 256
Решение - отформатировать заново раздел с 128-битными inode.
# mkfs.ext3 -I 128 /dev/sda1
Поскольку данные я скопировал на sdb, форматировал sda спокойно. )
это был очень долгий вечер и только эта статья смогла его сократить
ОтветитьУдалитьДа, это точно. Статья неплохо коротает вечера)
ОтветитьУдалитьsystemrescuecd как раз таки форматирует с 256 битным размером inode...
Вот спасибо!
ОтветитьУдалить