MBR의 grub가 잘못되었을 때 super-grub2-disk 를 쓰면 쉽게 복구할 수 있겠네요.

[url:29a85674]http://www.supergrubdisk.org/super-grub2-disk/[/url:29a85674]

부트로더가 깨졌어도 이것을 쓰면 하드의 운영체제로 부팅해서 손쉽게 부트로더를 복구할 수 있겠네요.

The primary purpose of Super GRUB2 Disk is to help you boot into an OS whose bootloader is broken.
Second, and almost as important, is to be a tool to learn more about GRUB2 and the booting process.

Super GRUB2 Disk can only be used to boot a broken system, it cannot fix it directly. Though once a system is booted, re-installing grub is usually just a matter of running “grub-install /dev/sda”.

For instance, Super GRUB2 Disk supports booting OSX, loop booting from iso files, booting an OS from USB without USB support in the BIOS, and other features that are not possible with GRUB legacy.

super-grub2-disk는 grub2 부트로더에서 자동으로 운영체제를 인식하기 위해 제작되었습니다.
grub2는 운영체제를 자동으로 인식하여, 부트메뉴에 추가하지만… 이것은 grub.cfg를 자동으로 작성하기 위한 것입니다.

grub2에서는 파일시스템 포맷등으로 uuid가 변경되었을때, update-grub 명령을 주어야, grub.cfg가 변경되고,
이때 자동으로 운영체제를 인식하여 grub.cfg를 변경하게 됩니다.
즉, 운영체제 자동인식 시점이 이미 리눅스로 부팅한 시점이고, 리눅스 쉘스크립트를 통해, 운영체제를 자동판별하게 됩니다.

이에 반해, super-grub2-disk는 grub2에서 부트메뉴를 보여주는 과정에서,
자동으로 운영체제를 인식합니다.
어떤 파일이 있으면, 어떤 운영체제라고 판단하는 grub2 명령들로 되어 있는 것이죠.

또한, super-grub2-disk에는 여러가지 리눅스배포판 라이브시디를 자동으로 분석하여, iso파일로 부터 부팅하는 코드도 들어 있습니다.
이러한, iso파일들을 특정한 디렉토리에 넣어두면, 자동으로 목록에 추가하여 보여줍니다.

그러니까, super-grub2-disk의 유용성은, 파일시스템이나 파티션이 변경되었거나,
grub2에서 인식하지 못하는 운영체제이거나, 라이브시디이지로 부팅시 유용한 것입니다.

실제로, 그 안에 복구 기능은 존재하지 않습니다.

동일 사이트를 살펴보시면 Rescatux라는 것이 있습니다.
이것은, 라이브시디 이미지이기에 자체에 포함된 운영체제로 부팅되며, 복구기능을 제공합니다.

쉘스크립트에 관심있으신 분은, 쉘스크립트는 아니지만, 유시한 grub2 스크립트에도 관심을 가지실 수 있을 것입니다.
super-grub2-disk에 포함된 grub2스크립트를 분석하시다보면,
특정디렉토리에 iso파일이나 부트섹터파일들을 모아두고, 자동으로 목록에 뿌려주거나,
자동으로 운영체제 종류나 버젼등을 판별하여, 각각에 대응해 부팅하는 코드를 작성하실 수 있으실 겁니다.

[quote="protochaos":50x2lyj9]또한, super-grub2-disk에는 여러가지 리눅스배포판 라이브시디를 자동으로 분석하여, iso파일로 부터 부팅하는 코드도 들어 있습니다.
이러한, iso파일들을 특정한 디렉토리에 넣어두면, 자동으로 목록에 추가하여 보여줍니다.
[/quote:50x2lyj9]

번역 고맙습니다.
이게 눈에 들어오는군요. 손으로 menu.list 작성했는데…