grub 복구시 chroot 와 device.map 에 대해..
http://bbs.kldp.org/viewtopic.php?t=63005 를 테스트하고 있습니다.
과정을 말씀드리면, 기존 SCSI 하드에 debian 이 깔려 있는 상태입니다(sda1). grub 이구요.
여기에 하드를 하나 더 달고(IDE 하드-hdc)
(cd / && tar cvpf - . --exclude mnt --exclude proc ) | (cd /mnt/hdc1 && tar xpvf - ) 로 백업을 했습니다.
그다음에
chroot /mnt/hdc1
을 하니 , hdc1 이 시스템의 / 로 바뀌어야 할텐데, 기존의 sda1 이 그대로 / 를 차지 하고 있네요.
꼭 rescue 로 부팅하고 chroot 를 해야 그런것인가요?(문제1)
다음으로 기존 grub 의 설정을 바꿔보려고, grub/menu.lst 를 보니, 이 /dev/sda1 이 hd0,0 로 되어 있습니다.
(hda1 이면 (hd0,0) 가 되고, hda2 는 hd0,1 , hdb1 은 hd1,0 이런식이잖아요.그러면 SCSI 인 경우에는 어떻게 되는 것이죠.)
IDE 하드를 추가가 되는 경우(/dev/hdc) , /dev/hdc1 는 hd2,0 로 표시되는 것인지요?
# vi /boot/grub/device.map
(hd0) /dev/sda
(hd2) /dev/hdc
이렇게 해주긴 했는데, 맞는 것인지 모르겠습니다. (문제2)
문제1 chroot 의 경우
mount -t proc proc /mnt/hdc1/proc 이런식으로 chroot 전에 해주어야 한다는 것을 본것 같은데, 그 이유인지요?
다시 시도를 해봐야 겠습니다.
문제2 device.map 에 지정된 대로 hd0, hd1 등이 처리가 되나요?
아니면 상관없이 시스템에서 자동적으로 지정이 되는 것인지요? 시스템에서 지정이 되는 것이면 이 정보를 어디서 볼 수 있는 것이죠?
ps. 하드 이전 하는 것이 수월할 줄 알았는데, 의외로 까다로운 부분이 많네요. :cry:
문제1 의 chroot 는 proc 을 먼저 해봐도 안되네요.resc
문제1 의 chroot 는 proc 을 먼저 해봐도 안되네요.
rescue 로 해야만 하는 것인지?
문제2 의 device.map 은
처럼 하면 안되고, hdc (hd2) 를 인식못하더군요.
처럼 인식하는 순서대로 해야 하는 듯 합니다.
현재 chroot 가 잘 되질 않아서, grub-install 이 제대로 안되는 듯 합니다.
확실하진 않지만, [code:1]chroot /mnt/hdc1[/code
확실하진 않지만,
chroot /mnt/hdc1
이렇게 해주면 그 Shell에서만 루트가 변경되는 것으로 알고 있습니다.그래서
exit
하면 루트가 원래대로 돌아온다고 알고 있습니다.일단 하드디스크가 어떻게 인식되는지 알기 위해서는
fdisk -l
을 해보세요.device.map 파일의 설정은
컴퓨터를 켰을때 처음 부팅되는 하드디스크를 (hd0)로 맞추면 됩니다.
--------Signature--------
시스니쳐 생각 중..
[quote="파도"]확실하진 않지만, [code:1]chroot /mn
감사합니다. ^^
fdisk -l 했을때 나오는 순서가 hd0 , hd1 .. 그 순서가 된다는 것이죠?
그리고, chroot 부분은 좀더 알아봐야 겠습니다. 제가 혼동하고 있는 부분이 있을 것도 같네요.
device.map은 GRUB의 stage1과 stage2가 설치될 때,
device.map은 GRUB의 stage1과 stage2가 설치될 때, 부팅하드디스크가 어느 것이냐를 알려 주는 역할을 합니다.
그러니까 fdisk -l로 출력되는 순서가 아니라 부팅시에 제일먼저 참조되는 하드디스크가 (hd0)가 되는 것입니다.
다른 하드디스크들은 fdisk -l의 순서대로 하는 것이 맞을 듯 합니다. 이것은 확인해보지 않아서 확신할 수 없습니다.
--------Signature--------
시스니쳐 생각 중..
어느정도 해결점이 보이긴 한데, 마지막에서 또 문제가 생겼네요.#
어느정도 해결점이 보이긴 한데, 마지막에서 또 문제가 생겼네요.
# chroot /mnt/hdc1 을 한후 df 로 보면 이상하게 나오는 것이
/mnt/hdc1/etc/mtab 이 그대로 보여서 그런것이었습니다.
grub 인스톨 까지는 된 것 같습니다.
그런데, 새로운 하드로 부팅을 하면..
IDE 하드를 인식하고, init 으로 넘어가야 하는것 같은데, 넘어가질 못하네요.
즉, 지금까지 과정을 보면.
1. SCSI -> IDE ( tar 로 시스템 복사 )
2. 옮긴 자료의 설정을 손보고, grub 설정 ( chroot )
3. 새로운 IDE 로 부팅 - 위의 메세지가 나오면서 kernel panic
아마도 SCSI 에서 IDE 로 옮기면서 커널이 IDE 하드의 파티션을 제대로 인식을 못하는 것같음.
위의 kenel panic 메세지가 나오기 전에 scsi 하드를 인식하고, 파티션까지 인식을 함.
IDE -> IDE 로 했다면 이상이 없을 수도 있을 듯 함. initrd 를 다시 만들어 줘야 하나?
ps. 혹시 /etc/modules 에
성공했습니다. ^^
성공했습니다. ^^
kernel panic 의 문제는 기본시스템을 SCSI 에 설치해서, IDE 에 대한 모듈이 기본적으로 올라오지 않아서 였습니다.(IDE -> IDE 인경우는 상관없을 듯함.)
/etc/modules 에
이것은 커널이 부팅된 다음에 로딩이 되는 것이라 안되구요.(한번 실패.. ^^;;)
커널이 로딩되기 전에 먼저 IDE 관련 모듈을 올려야 하기 때문에 답은 initrd 에 넣어야 합니다.
그래서 mkinitrd 를 사용.
으로 initrd 를 생성해 줍니다.
이때 ide 관련 모듈은 /etc/mkinitrd/modules 에
도움주신 분들 감사드립니다. ^^ :o :lol: :roll:
댓글 달기