shell script에서 chroot를 이용한 shell script실행하기.

Coumputer's/Linux 2011. 10. 11. 16:05


최근 Emulator작업을 하면서 shell을 이용하여 특정 파티션을 mount하고,
mount한 파티션의 환경에서 shell이나 특정 프로그램을 실행시키기 위해서 조사한 내용임.

mount /dev/hdd1 /mnt/mount
chroot /mnt/mount /bin/bash -c "cd /mnt/bin; ./run.sh"

설명 : /mnt/mount를 root 파티션으로 변경하고 bash를 이용하여 " " 구문을 실행하라.

Grub 복구하기.

Coumputer's/Linux 2010. 12. 9. 19:35

주로 Acronics를 사용하여 Linux이미지를 생성하고 복원하는 작업을 할 많이 하게 되는데.
이전에 만든 이미지나.. H/W가 변경됨에 따라서 이미지를 복원하여 재생성 하는 작업을 많이 하게 된다.
문제는 가끔씩 Grub 부트로더를 읽다가 멈추는 경우가 있다.
까만화면에 "GRUB" 글짜만 보이고 더이상 부팅을 진행안할 경우 grub을 다시 install해주면 된다.

1. Linux설치 시디로 부팅하여 Rescue모드로 들어간다.
필자는 Redhat 9 이미지로 복원을 한 후 위와 같은 현상이 발생하였으며, 
Fedora 8 CD로 Rescue모드 부팅하여 grub을 재 인스톨하였다.

2. chroot를 이용하여 HDD의 파티션으로 이동한다.
 Rescue모드로 들어오면서 화면에 HDD파티션으로 이동하기 위해서 chroot명령어를 이용하라고
안내가 나오게 된다. 그대로 입력하면 shell prompt가 바뀌면서 HDD의 / 파티션으로 이동된다.
필자는 "chroot /mnt/sysimage/"를 통해서 HDD 파티션으로 이동하였다.

3. /sbin/grub-install /dev/sda를 이용하여 MBR에 grub을 install한다.
  필자는 문제가 발생하여 /sbin/grub-install --recheck /dev/sda를 이용하여 grub을 install하였다.

위와 같은 방법으로 필자는 Grub를 MBR에 인식시키는데 성공하였다.

추가로 /sbin/grub를 통해서 grub prompt에서 작업하는 내용도 있지만, 필자는 위 작업이 
더 쉽게 사용할 수 있을 듯하여 위 내용만 적었음을 알립니다.^^