LINUX.ORG.RU

Ошибка grub при переносе системы

 , ,


0

3

Приветствую, знатоки!

Дано: - centos 6 установленный на raid1 на физический сервер.

/dev/md0 on / type ext4 (rw,commit=10)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/md4 on /home type ext4 (rw,noatime,commit=20,data=writeback,barrier=0,noacl,nouser_xattr)
/dev/md2 on /tmp type ext4 (rw,noatime,commit=20,data=writeback,barrier=0,noacl,nouser_xattr)
/dev/md5 on /usr type ext4 (rw,noatime,commit=10)
/dev/md3 on /var type ext4 (rw,noatime,commit=10)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
Задача: - «Скопировать» и перенести на virtualbox на один виртуальный диск, на один раздел.

Что для этого делаю:

  • Создаю stage4
  • Подготавливаю виртуальную машину и разбиваю виртуальный диск, mkfs.ext4 /dev/sda1
    Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x1ee5262b
    
    Device     Boot    Start      End  Sectors  Size Id Type
    /dev/sda1           2048 18876415 18874368    9G 83 Linux
    /dev/sda2       18876416 20971519  2095104 1023M 82 Linux swap / Solaris
    

  • Монтирую, распаковываю stage, чрутюсь
    mount -t proc proc /mnt/her/proc
    mount --rbind /sys /mnt/her/sys
    mount --make-rslave /mnt/her/sys
    mount --rbind /dev /mnt/her/dev
    mount --make-rslave /mnt/her/dev
    
    
    chroot /mnt/her /bin/bash
    source /etc/profile
    export PS1="(chroot) $PS1"
    

  • Пытаюсь поставить grub
    (chroot) [root@sysresccd /]# grub-install /dev/sda
    /dev/md0 does not have any corresponding BIOS drive.
    
    (chroot) [root@sysresccd /]# grub
    Probing devices to guess BIOS drives. This may take a long time.
    
    
        GNU GRUB  version 0.97  (640K lower / 3072K upper memory)
    
     [ Minimal BASH-like line editing is supported.  For the first word, TAB
       lists possible command completions.  Anywhere else TAB lists the possible
       completions of a device/filename.]
    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 14t: Filesystem compatibility error, cannot read whole file
    
    (chroot) [root@sysresccd /]# grub-install --recheck /dev/sda
    Probing devices to guess BIOS drives. This may take a long time.
    /dev/md0 does not have any corresponding BIOS drive.
    (chroot) [root@sysresccd /]# grub
    Probing devices to guess BIOS drives. This may take a long time.
    
    
        GNU GRUB  version 0.97  (640K lower / 3072K upper memory)
    
     [ Minimal BASH-like line editing is supported.  For the first word, TAB
       lists possible command completions.  Anywhere else TAB lists the possible
       completions of a device/filename.]
    grub> device (hd0) /dev/sda  
    device (hd0) /dev/sda
    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 14t: Filesystem compatibility error, cannot read whole file
    

Вопрос: Что я делаю не так?

Ответ на: комментарий от Twissel

Ага, при жалких потугах найти проблему - нагуглил этот топик, однако там немного не та ситуация. Там ставят на рэйд, а мне наоборот надо уйти от рэйда на самый обыкновенный диск разбитый в один раздел. Виртуалка эта нужна просто для тестов, которая в последствии будет переведена на grub2, но всё по-порядку.

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

Не-а, не получается, всё то же самое. Хм, возможно сначала надо initrd переубедить, что чрутиться надо начинать уже в /dev/sda , а не в /dev/md0 тогда полегче будет, однако пока в нашем споре побеждает он...

Grotesque ()
Ответ на: комментарий от Twissel
Без чрута
sysresccd her # mdadm --zero-superblock /dev/sda
mdadm: Couldn't open /dev/sda for write - not zeroing

в чруте
[root@sysresccd /]# mdadm --zero-superblock /dev/sda
mdadm: Couldn't open /dev/sda for write - not zeroing

По-сути эта команда просто метаданные из первых секторов диска удаляет, но у меня их и так там нет... впрочем я по-другому сделал это:

dd if=/dev/zero of=$YOUR_DEV bs=512 seek=$(( $(blockdev --getsz $YOUR_DEV) - 1024 )) count=1024
И, как предполагалось, это не возымело никакого эффекта.

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

Ну-у-у, ругается, но иначе:

(chroot) [root@sysresccd /]# 
(chroot) [root@sysresccd /]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
(chroot) [root@sysresccd /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        8.8G  3.4G  5.0G  41% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
/dev/md4        8.8G  3.4G  5.0G  41% /home
/dev/md2        8.8G  3.4G  5.0G  41% /tmp
/dev/md5        8.8G  3.4G  5.0G  41% /usr
/dev/md3        8.8G  3.4G  5.0G  41% /var
none             10M   56K   10M   1% /dev
(chroot) [root@sysresccd /]# mdadm --stop /dev/md0
mdadm: error opening /dev/md0: No such file or directory
(chroot) [root@sysresccd /]# 
(chroot) [root@sysresccd /]# 
(chroot) [root@sysresccd /]# 
(chroot) [root@sysresccd /]# grub-install /dev/sda
Could not find device for /dev/md0
Could not find device for /dev/md0
Could not find device for /dev/md0
/dev/md0: Not found or not a block device.
(chroot) [root@sysresccd /]# blkid 
/dev/sda1: UUID="45888de4-41f2-439d-a4d4-921d4474e60f" TYPE="ext4" 
/dev/loop0: TYPE="squashfs" 
/dev/sr0: LABEL="sysrcd-4.9.0" TYPE="iso9660" 
(chroot) [root@sysresccd /]# grub
Probing devices to guess BIOS drives. This may take a long time.


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]
grub> device (hd0) /dev/sda
device (hd0) /dev/sda
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 14t: Filesystem compatibility error, cannot read whole file

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