Truecrypt 및 부트 로더 (Windows XP 파티션과 함께 다중 부팅)에서 Ubuntu 10.04 용 GRUB2를 연결하는 방법은 무엇입니까?


9

Truecrypt가 평소와 같이 Windows XP의 암호를 묻기를 원하지만 표준 [ESC] 옵션을 사용하여 해당 키를 선택하면 (예 : Esc 키) 암호화되지 않은 Ubuntu 설치를위한 그룹을 찾고 싶습니다.

Toshiba NB100 넷북의 120Gb 하드 드라이브에 Windows XP를 설치 한 다음 Ubuntu 10.04를위한 공간을 만들기 위해 파티션을 나누고 Windows XP 설치 후에 설치했습니다.

Windows XP를 암호화 할 때 Truecrypt는 마스터 부트 레코드 (MBR)의 grub 항목을 덮어 씁니다. (?) XP와 우분투 중에서 더 이상 선택할 수 없습니다. 다시 복원해야합니다.

우분투 포럼 및 다른 곳에서 답변을 상당히 광범위하게 검색했지만 아직 모든 사건, 시나리오 및 오류 메시지를 다루거나 GRUB2가 아닌 기존 GRUB에 대해 이야기하는 완전한 답변을 찾지 못했습니다. 우분투 10.04는 GRUB2를 사용합니다.

내 설정 :

파티션 :

  1. Windows XP, NTFS (Truecrypt로 암호화), 40Gb
  2. / boot (Ext4, 1Gb)
  3. 우분투 스왑, 4Gb
  4. 우분투 / (루트)-메인 파일 시스템 (20GB)
  5. NTFS 공유, 55Gb

다른 노트북에서 이미 시도했기 때문에 부팅시 Truecrypt 부트 로더가 GRUB을 대체한다는 것을 알고 있습니다.

부트 로더 화면이 평소와 같이 보이기를 원합니다.

Truecrypt

암호를 입력:

(또는 건너 뛰려면 [ESC])

암호는 WindowsXP 용이며 [ESC]를 누르면 부팅 할 Ubuntu 그룹을 찾을 수 있습니다.

도움을 주셔서 감사합니다.

문제의 핵심 영역은 이스케이프 키를 누를 때 Truecrypt에 지시하는 방법과 esc 키를 누를 때 Grub / Ubuntu를 truecrypt 부트 로더에 표시하여 찾는 방법입니다. 연결이라고도합니다.

답변:


6

이것은 매우 쉽습니다. 디스크를 분할하고 Windows와 Ubuntu를 설치하십시오. Windows 파티션에서는 TrueCrypt를 사용하십시오. 그러면 Windows는 암호화되지만 Ubuntu는 암호화되지 않습니다.

그러면 Windows로 부팅 한 다음 TrueCrypt 부트 로더를 통해서만 부팅 할 수 있습니다. 이미있는 것 같습니다.

sdaWindows가 켜져 sda1있고 Linux가 켜져있는 상태 에서 디스크가 sda2있다고 가정 합니다 (이것은 가상의 것으로 보이지 않습니다 sda2). TrueCrypt는 MBR에 설치하고 sdaGRUB을 덮어 씁니다.

Ubuntu distro CD를 사용하여 라이브 CD를 부팅 한 다음 사전 설치된 시스템으로 chroot하십시오. 이렇게 :

sudo su -
mkdir -p /mnt/ubuntu
mount /dev/sda2 /mnt/ubuntu
mount --bind /proc /mnt/ubuntu/proc
mount --bind /dev /mnt/ubuntu/dev
chroot /mnt/ubuntu

그런 다음 GRUB 부트 로더를 설치, 이에 sda2보다는, sda.

grub-install /dev/sda2 --force

그런 다음 다시 부팅 할 때 여전히 TrueCrypt 로더에 sda-> sda1에서 Windows로 부팅 할 암호를 묻는 메시지가 표시 됩니다. 그러나 ESCAPE를 누르면 sda2MBR이 아닌 Linux로 바로 부팅하고 부팅 할 수있는 옵션이 제공됩니다 .

하지만 기다려

이 작업을 수행하기 전에 한 가지주의 사항 : grub-install잘못된 점이 있고 sdaMBR을 덮어 쓰거나 GRUB이 MBR을 덮어 쓰도록 트리거하는 커널 업그레이드를 수행하는 경우 돌아가려면 TrueCrypt 부트 로더를 다시 설치해야합니다. Windows로. 당신이 준비되지 않은 경우 이것은 큰 번거 로움입니다.

GRUB을 사용하기 전에 Linux에서 TrueCrypt 부트 로더를 백업하는 것이 좋습니다. 그렇게하면 TrueCrypt를 깨고 Linux로만 들어갈 수 있으면 쉽게 다시 쓸 수 있습니다.

TrueCrypt 부트 로더를 백업하십시오.

dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512
dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256 # Just in case

TrueCrypt 부트 로더를 복원하십시오 (이것이라고 부릅니다 restore-truecrypt.sh).

sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512
sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
sudo grub-install /dev/sda2 --force

작은 쉘 스크립트 에이 두 명령 세트가 모두있어 편리합니다. 실수로 부트 로더를 p 때 (명령이 발생 함) 명령에 대해 인터넷 검색을하고 싶지 않습니다 man.

아, 그리고 호환성에 관한 단어. "GRUB"을 쓸 때 GRUB 1 또는 2를 의미했습니다. 개인적으로 저는 10.04 및 Windows 7의 GRUB 2를 사용하지만 GRUB, Windows 및 Linux의 이전 버전에서는 제대로 작동했습니다.


이 답변에 대해 @fitzpatrick에게 대단히 감사합니다. 시간이 더 있으면 확인해 보겠습니다. 나는 그것이 당신의 정확한 방향을 확실하게하기 위해 노력하려고 애 쓰고 나갔습니다. :) 여기, 내가 찾은 것이 무엇인지 알려 드리겠습니다.
therobyouknow

"dd if = / dev / sda of = ~ / truecrypt.backup count = 8 bs = 32256"백업은 정확히 무엇입니까? TC 헤더? 감사!
stefan.at.wpf

또한 sda2는 / boot 파티션입니까?
stefan.at.wpf

ok sda2는 루트 패리티입니다, 젠장, 내
암호

dd명령은 디스크의 첫 32Kb (기본적으로 전체 부팅 섹터)를 복사합니다. 위에서 제시 한 예에서 별도의 부팅 파티션이 없으며 nix 설치는 단일 파티션에 있습니다. 초기 RedHat 시절에는 Linux 데스크톱에서 별도의 파티션으로 도구를 사용했습니다. 요즘에는 큰 디스크를 사용하면 대부분의 경우 서버에 해당 리갈을 저장할 수 있다고 생각합니다!
아이 단 피츠 패트릭

2

이 질문에 대한 답변은 본인의 것입니다. 그 대답은 내가 할 수 없다는 것을 받아들이는 것입니다. 그리고 나는 대안 중 하나를 받아들입니다.

  1. VirtualBox, VMWare 또는 Parallels와 같은 Windows XP (암호화 된 시스템 드라이브 파티션) 호스트 Ubuntu에서 실행되는 가상화 / VM웨어 응용 프로그램을 사용하십시오. 따라서 Windows로 부팅 한 다음이 응용 프로그램을 실행 하고이 내에서 우분투로 부팅해야합니다. 일부 의견자는이 방법의 단점 중 하나를 우분투에 도착하려면 두 번 부팅해야한다는 것 (첫 번째 XP, 우분투)으로 설명합니다. 그러나 실제로 두 OS를 동시에 실행한다는 점에서 일반 BIOS 실행 이중 부팅보다 이점이 실제로 있다고 말합니다. 예를 들어 여러 플랫폼에서 응용 프로그램 또는 웹 페이지를 신속하게 테스트하려는 경우 유용합니다.

  2. Ubuntu에 보조 하드 드라이브 또는 SD 카드 (예 : 8gb, 16Gb)를 사용하고 BIOS (일회성) 부팅에서 선택하여 Ubuntu를 부팅하십시오.

* 실제로는 = 충분한 시간 (3 일에 걸쳐 약 6 시간을 보냈고, 마음을 깨끗이 정리하고, 포럼을 새로 고침을 검색)을 보냈으며 더 이상 지출 할 준비가되어 있지 않음을 의미합니다. 그래서 나는 게으르고 다른 사람들에게 의지한다고 비난받을 수 없습니다. 수는 없습니다 또한 수단을 = 수없는 순간 . 다시 다시 방문 할 수 있습니다.

다음은 다른 사람들이 유용하게 사용할 수있는 참고 자료입니다.

위의 모든 내용은 통찰력을 제공하지만 모든 사건이나 그루브 버전을 다루는 결정적인 완전한 답변은 아닙니다.

수퍼 유저, 우분투 포럼 및 truecrypt 포럼에 동일한 질문을 게시했습니다.

이 일을하는 것에 대한 나의 정당성은이 포럼의 독자들이 반드시 다른 포럼을 읽을 필요는 없다는 것입니다. 약간의 중복이있을 수 있지만, 몇 가지 중요한 조언이 빠질 수도 있습니다.

배경 사고와 학습 (관심이 있다면!)

나는 내가 그것을 더 잘하게하고 내 대답을 이기고 해결하기 위해 계속 노력했지만 실제로 나는 그것을 하루라고 부르고 대안으로 돌아 왔다는 것을 기쁘게 생각합니다. 그러나 (쉽게) 수행 할 수 없으며 대안이 있다는 것을 인정하는 것은 안도합니다. 이제 더 중요한 것들을 할 수 있습니다! 암호화가없는 데스크탑에서 Windows 7 및 Ubuntu 10.04를 이미 이중 부팅합니다. 이는 매우 간단한 절차입니다. 그리고 대안으로 나는 원래의 대답에서 원하는 것을 그리 멀지 않았습니다. 실제로 나는 현재 Windows와 같이 노트북에서 Ubuntu를 사용하지 않으므로 너무 많이 놓칠 수 없습니다. 또한 MacBookPro도 있으므로 다른 OS보다 더 많은 Windows 팬이 아닙니다!

다른 사용자 관점에서 Ubuntu를 사용하여 truecrypt 암호화 된 Windows 이중 부팅을 원하는 이유는 다음과 같습니다.

http://blog.mfabrik.com/2008/07/15/perfect-dual-boot-crypted-hard-disk-setup-with-truecrypt-and-luks/

"Symbian 및 웹 개발에 사용되는 업무용 랩톱이 있습니다. Vista와 Linux를 모두 부팅 할 수 있어야합니다. 클라이언트 개인 정보 보호로 인해 랩톱을 분실 한 경우 두 운영 체제를 모두 암호화해야합니다. Windows를 사용하지 않더라도 웹 브라우저 데이터에 클라이언트 시스템의 저장된 비밀번호가 포함되어있을 수 있으며 실수로 유출 될 수 있습니다. "

Grub2는 grub보다 훨씬 복잡하며 일부는 반드시 그렇게 주장 할 수 있습니다. Windows XP에서 10.04 이전 우분투 (GRUB2가 아닌 GRUB2)에서 성공했습니다.

http://www.howtoforge.com/forums/showthread.php?p=184776#post184776

더 많은 설정 파일이 존재하고 더 많은 디렉토리에 참조가있는 디렉토리에 퍼져 있기 때문에 더 복잡하다고 말합니다. 일부는 기계 생성 및 편집을 권장합니다 (예 : 부팅 메뉴, 배우는 스크립팅 언어의 종류가 있습니다) 스크립트 인터프리터가 변경 될 때 실행됩니다. 그것은 지금 당장 나에게 관여하고 있으며 달에 로켓이 아닌 운영 체제를 시작하기위한 것입니다!


아직 고려하지 않은 옵션은 Ubuntu Alternate CD / .ISO 이미지를 사용하는 것입니다. 여기에서 다운로드하십시오. releases.ubuntu.com/lucid 질문 사본을 게시 한 Ubuntu 포럼 (위 링크)을 보면 응답자가 언급 한 게시물이 표시됩니다. 요점은 GRUB을 넣을 위치를 선택하고 (내가 한 것처럼 수동으로 추측하지 않고 공식적으로 올바르게 수행 할 것입니다) 포스터는 동일한 컴퓨터에서 Ubuntu 및 Truecrypted Windows를 암호화했다고 주장합니다. 그것이 나의 목표였습니다.
therobyouknow

1

나는 이것을 매우 부드럽게 해결했다고 생각합니다. 원래 상황은 다음과 같습니다. Windows 7 파티션과 Ubuntu 10.10 파티션 (MBR에있는 Ubuntu의 grub2)이있는 암호화되지 않은 넷북 (MSI U160)이있었습니다.

  1. Truecrypt를 설치하려면 Windows 7을 원래 파티션에 다시 설치해야했습니다.
  2. 그런 다음 truecrypt를 설치했습니다 (전체 Windows 7 파티션 암호화)
  3. 지침을 사용 하여 USB 키에서 Ubuntu를 다시 설치하여 grub2 로더를 Ubuntu 파티션에 넣었습니다.
  4. 재부팅 후 TrueCrypt 부트 로더를 얻습니다. 나는 [ESC]를 치고 리눅스 파티션을 포함한 보트 파티션 목록을 얻는다 (윈도우 파티션도 보여 주지만 암호화 된 이후 부팅은 실패 할 것이다).

나는 이것이 당신이 원하는 것이기를 바랍니다.


1

방금 지난 2 일 동안이 문제를 해결 했으며이 답변을 얻을 수 없었습니다. 마지막으로 작업 한 내용은 블로그에 문서화 되어 있습니다. 다음은 요약 버전입니다 (데비안 wheezy로 완료; 우분투에서도 작동합니다. 다른 배포판은 약간 수정해야 할 수도 있습니다).

기본적으로 GRUB2를 체인로드하여 SYSLINUX를로드하면 TrueCrypt Rescue ISO 이미지가 부팅되어 Linux로 부팅 할 수 있습니다.

  1. syslinux를 설치하십시오 :

    sudo aptitude install syslinux
    
  2. 파일을 제자리에 복사하십시오.

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. 부팅 파티션의 UUID를 결정하십시오.

    sudo blkid /dev/sda2
    

    출력은 다음과 같아야합니다.

    / dev / sda3 : UUID = "12345678-1234-1234-1234567890"

  4. GRUB2를 설정하십시오 :

    다음에 추가하십시오 /etc/grub.d/40_custom:

    menuentry "TrueCrypt ISO boot" {
        insmod part_msdos
        insmod fat
        insmod ext2
        insmod search_fs_uuid
        search --fs-uuid --no-floppy --set=boot [UUID without quotes]
        linux16 ($boot)/memdisk iso raw
        initrd16 ($boot)/truecrypt-rescue-disk.iso
    }
    
  5. GRUB2 구성 다시로드

    sudo update-grub
    

"일반"TrueCrypt 부팅 방법 대신 하드 드라이브에서 TrueCrypt Rescue CD 이미지를 부팅하는 시스템을 속이기 때문에 Windows로 부팅 할 때마다 [F8] 복구 옵션이 표시됩니다. 그러나 그것은 나에게 작은 단점처럼 보입니다 (그리고 추가 기능으로 간주 될 수도 있습니다!)


귀하의 성공적인 노력, 훌륭한 작업 @Flimzy에 대해 +1 찬성 어느 시점에서 귀하의 답변을 시도하고 다시보고하고 싶습니다. 귀하의 성공을 반복 할 수 있으면 귀하의 답변을 받아들이고 싶습니다 (어쨌든 더 빨리 할 수 ​​있음). 나는 실험 할 수있는 기계가 없으며 현재 다른 것들에 사용되고 있습니다). 다시 감사합니다!
therobyouknow

-1

해결책 : 아마도 truecrypt 부트 로더를 grub으로 부팅 할 IMG 파일로 복사합니까? 아니면 Grub4Dos를 사용하여 우분투를로드합니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.