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 이 제대로 안되는 듯 합니다.
F/OSS 가 함께하길..
확실하진 않지만, [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 부분은 좀더 알아봐야 겠습니다. 제가 혼동하고 있는 부분이 있을 것도 같네요.
F/OSS 가 함께하길..
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 에
F/OSS 가 함께하길..
성공했습니다. ^^
성공했습니다. ^^
kernel panic 의 문제는 기본시스템을 SCSI 에 설치해서, IDE 에 대한 모듈이 기본적으로 올라오지 않아서 였습니다.(IDE -> IDE 인경우는 상관없을 듯함.)
/etc/modules 에
이것은 커널이 부팅된 다음에 로딩이 되는 것이라 안되구요.(한번 실패.. ^^;;)
커널이 로딩되기 전에 먼저 IDE 관련 모듈을 올려야 하기 때문에 답은 initrd 에 넣어야 합니다.
그래서 mkinitrd 를 사용.
으로 initrd 를 생성해 줍니다.
이때 ide 관련 모듈은 /etc/mkinitrd/modules 에
도움주신 분들 감사드립니다. ^^ :o :lol: :roll:
F/OSS 가 함께하길..
댓글 달기