5. 1단계 복구(First Stage Restore)

5.1. tomsrtbt로 부팅하기(Booting tomsrtbt)

복구를 진행하기 전에 첫째로 확인해야 할 것은 하드웨어의 시간이 바르게 설정되어 있는지 확인하는 것이다. BIOS 설정을 확인하기 바란다. 얼마나 시간을 정확히 설정해야 하는 지는 여러분의 응용프로그램(application)에 달려있다. 복구를 위해서는 정확한 시간에서 몇 분정도 차이나는 정도는 맞아야 한다. 이것이 여러분이 최종적으로 복구된 시스템을 시동시켰을 때 시간이 결정적으로 중요한 영향을 미치는 (time-critical) 일들이 제대로 돌아가게 만들 것이다.

tomsrtbt로 부팅하기 전에, 여러분의 ZIP 드라이브가 병렬 포트, 혹은 /dev/lp0 나 /dev/lp1에 연결되었는지 확인하라. 시작 프로그램은 ZIP 드라이브를 별렬 포트에 작동하게 할 것이다.

다음 단계는 비디오 상태를 설정하는 것이다. 보통 나는 스크린에 가능한 많은 것이 보이는 것을 선호한다. 비디오 상태를 선택하는 옵션이 나올 때, 나는 보통 6번, 즉 60라인과 80열로 된 것을 사용한다. 여러분의 하드웨어는 고해상도를 지원하거나 못할 수 있으니 실험을 해보시라.

5.2. 복구(Restoration)

일단 tomsrtbt가 부트되고 콘솔이 나타나면, ZIP 드라이브를 마운트하라. 다음과 같이 읽기 전용으로 마운트하는 것도 좋은 아이디어가 될 수 있다.

# mount /dev/sda1 /mnt -o ro

다음과 같이 제대로 존재하는지 확인하라:

# ls -l /mnt

이 시점에서, 여러분은 자동 혹은 수동으로 복구를 할 수 있을 것이다. 앞으로 어떤 변화를 줄 필요가 없다면, 자동화된 복구방법을 사용하라.

5.2.1. 자동 복구(Automated)

완전히 자동화된 1단계 복구를 하기위해서는 다음과 같은 명령어를 입력하라.

# /mnt/root.bin/first.stage

If you want to check for back blocks, add the -c option.

5.2.2. 수동 복구(manually)

수동복구를 진행하기 위해서는, ZIP드라이브에 있는 스크립트가 위치한 디렉토리를 바꾼다.

# cd /mnt/root.bin

이제 분할영역 정보를 복구할 스크립트를 실행하라. 예를 들면:

# ./make.dev.hda

손상된 블록에 대한 점검을 하기 원한다면, -c 옵션을 추가하라.

이 스크립트는 다음과 같은 것을 할 것이다:

  • 기존의 분할 영역표(partition table)와 마스터 부트 레코드(Master Boot Record, MBR)을 삭제하면서, 하드 드라이브의 첫 번째 1024바이트를 깨끗이 만든다.

  • 여러분이 make.fdisk를 실행했을 때 모은 정보로부터 분할 영역을 다시 만든다.

  • ext2 파일 시스템 분할 영역과 적당한 리눅스 스왑 분할 영역을 만든다. 만약 -c 옵션을 넣는다면 손상된 블록에 대한 점검도 할 것이다.

  • 몇몇 형태의 FAT 분할 영역을 만든다.

  • 마운트 위치를 만들고 ext2 분할 영역을 마운트한다.

주의: 만약 여러분이 복구할 운영 체제가 다른 것이라면, 지금이 시도해 볼 좋은 때이다. 첫째로, 리눅스 복구를 끝내기 위해서 tomsrtbt로 다시 부팅하라. 여러분은 지금 막 만든 분할영역을 다시 마운트 해야 할 것이다. make.dev.x 스크립트의 끝 부분에 분할 영역을 마운트하기 위한 새로운, 그리고 기존의 것과 독립적인 스크립트를 만들어라.

여러분이 모든 디렉토리를 만들고 분할 영역을 모두 마운트한 후, 여러분은 restore.metadata 스크립트를 실행시킬 수 있다. 이것은 ZIP 드라이브의 내용물을 하드드라이브로 복구할 것이다.

여러분은 ZIP 드라이브 루트 디렉토리 하부의 디렉토리들과 복구된 저장 파일의 목록을 살펴보아야 한다. tomsrtbt에 대한 tar 파일로 부터 tar의 블록크기가 20이고 그걸로 충분하다는 것을 알 수 있다. lilo는 다음과 같은 결과를 표시해야 한다는 것을 명심하라.

Added linux *

위의 것은 "df -m" 명령어의 결과물에 뒤이어 표시될 것이다.

5.2.3. 마감하기(Finishing Touches)

만약 여러분이 부팅 후 바로 X window로 진행된다면, 몇몇 문제가 발생할 수 있다. 안전하게 하기 위해서, 여러분의 부트 레벨을 일시적으로 바꾸어라. /target/etc/inittab에 있는 다음과 같은 줄을 찾아서

id:5:initdefault:

다음과 같이 바꾸어라.

id:3:initdefault: