web-dev-qa-db-ja.com

TruecryptとそのブートローダーからUbuntu10.04用のGRUB2をチェーンする方法(Windows XPパーティション)と一緒にマルチブート)?

TruecryptにWindowsのパスワードを要求させたいXPいつものように、しかし標準の[ESC]オプションを使用して、それを選択すると、つまりエスケープキーを介して、(暗号化されていない)のgrubを見つけたい)Ubuntuのインストール。

私はWindows XPをToshibaNB100ネットブックの120Gbハードドライブにインストールし、Ubuntu 10.04用のスペースを作るためにパーティション分割し、Windows XPインストール後にインストールしました。 。

Windows XPを暗号化すると、Truecryptはマスターブートレコード(MBR)のgrubエントリを上書きし、(?)と信じており、XPとUbuntuのどちらかを選択できなくなります。だから私はそれを元に戻す必要があります。

私はUbuntuフォーラムや他の場所でかなり広範囲に回答を検索しましたが、すべての不測の事態、シナリオ、エラーメッセージを網羅する完全な回答はまだ見つかりませんでした。そうでなければ、GRUB2ではなくレガシーGRUB .Ubuntu10.04はGRUB2を使用します。

私のセットアップ:

パーティション:

  1. Windows XP、NTFS(Truecryptで暗号化される)、40Gb
  2. / boot(Ext4、1Gb)
  3. Ubuntuスワップ、4Gb
  4. Ubuntu /(root)-メインファイルシステム(20GB)
  5. NTFS共有、55Gb

Truecryptブートローダーは、別のラップトップですでに試しているため、起動時にGRUBを置き換えることを知っています。

ブートローダーの画面を通常のように見せたい:

Truecrypt

パスワードを入力する:

(またはスキップするには[ESC])

パスワードはWindowsXP用で、[ESC]を押すと、起動するUbuntugrubが見つかります。

よろしくお願いします。

問題の重要な領域は、エスケープキーが押されたときにTruecryptに指示する方法と、escキーが押されたときにGrub/Ubuntuをtruecryptブートローダーに表示して見つける方法です。連鎖としても知られています。

9
therobyouknow

この質問に対して私が受け入れるつもりの答えは私自身のものです。そして、その答えは、私がこれを行うことができないことを受け入れることです*そして私は選択肢の1つを受け入れます:

  1. Windowsで実行されている仮想化/ VMウェアアプリケーションを使用するXP(暗号化されたシステムドライブパーティション)VirtualBox、VMWare、ParallelsなどのホストUbuntu。したがって、Windowsを起動してからこのアプリケーションを実行する必要があります。一部のコメンテーターは、Ubuntuにアクセスするために2回(最初にXP、次にUbuntu)起動する必要があるというこのアプローチの欠点の1つを挙げていますが、実際には通常よりも利点があると思います実際に両方のOSを同時に実行しているという点で、BIOSが起動するデュアルブート。たとえば、複数のプラットフォームでアプリケーションやWebページをすばやくテストしたい場合に最適です。

  2. Ubuntu用のセカンダリハードドライブまたはSDカード(たとえば、8GB、16GB)を使用し、BIOS(ワンタイム)ブートから選択して、そこからUbuntuをブートします。

*できない=本当に、これに十分な時間を費やし(3日間で約6時間、立ち去り、気が狂い、フォーラムを検索して更新された)、これ以上費やす準備ができていないことを意味します。だから私は怠惰で他人に頼っていると非難することはできません。 Ca n't =は、次のことも意味します:現時点ではできません。これをもう一度見直すかもしれません。

他の人が役立つと思われる参考資料を次に示します。

上記のすべては、いくつかの洞察を提供しますが、すべての不測の事態またはグラブバージョンをカバーする決定的な完全な答えではありません。

私はこれと同じ質問をスーパーユーザー、ubuntuforums、truecryptフォーラムに投稿しました:

これを行うことの私の正当化は、これらのフォーラムの読者が必ずしも他のフォーラムを読むとは限らないということです。いくつかの重複はありますが、いくつかの重要なアドバイスが見落とされる可能性があります。

背景の考えと学習(興味があれば!)

私はそれを1日と呼び、代替案にたどり着いたと言って本当にうれしく思いますが、私はそれをより良くし、勝ち、私の答えを解決するために戦い続けました。しかし、それを(簡単に)行うことができず、代替手段があることを受け入れるのは安心です。今、私はもっと重要なことに取り掛かることができます!私はすでに暗号化なしのデスクトップでWindows7とUbuntu10.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とWeb開発で使用する仕事用ラップトップを持っています。VistaとLinuxの両方を起動できる必要があります。クライアントのプライバシーのため、ラップトップを紛失した場合に備えて、両方のオペレーティングシステムを暗号化する必要があります。Windowsを使用しなくても積極的に、そのWebブラウザデータにはクライアントシステムの保存されたパスワードが含まれている可能性があり、誤ってそれらを漏らすことは壊滅的です。」

Grub2はgrubよりもはるかに複雑であり、必然的にそう主張する人もいるかもしれません。 Windows XPの10.04より前のUbuntu(GRUB2ではなくGRUB)で成功しました。

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

より多くの設定ファイルが存在し、それらの間の参照を含むより多くのディレクトリに分散しているため、より複雑だと言います。一部はマシンで生成され、編集することをお勧めします。ブートメニューには、学習する一種のスクリプト言語と、変更が加えられたときに実行するスクリプトインタープリターがあります。現時点ではあまりにも複雑で、オペレーティングシステムを起動するためだけのものであり、月へのロケットではありません。

2
therobyouknow

これはとても簡単です。ディスクをパーティション分割し、WindowsとUbuntuをインストールします。 WindowsパーティションでTrueCryptを使用します。これにより、Windowsは暗号化されますが、Ubuntuは暗号化されません。

そうすれば、おそらくWindowsでしか起動できず、次にTrueCryptブートローダーを介して起動できることがわかります。あなたはすでにそこにいるようですね。

ディスクがsdaで、Windowsがsda1で、Linuxがsda2であるとします(これは架空のもので、sda2ではないように見えます)。 TrueCryptはsdaのMBRにインストールされ、GRUBを上書きします。

Ubuntuディストリビューション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ブートローダーをインストールしますが、sdaではなくsda2にインストールします。

grub-install /dev/sda2 --force

その後、再起動すると、TrueCryptローダーがsda-> sda1からWindowsを起動するためのパスワードを要求します。ただし、ESCAPEを押すと、バイパスしてLinuxを直接起動するオプションが表示されますが、MBRではなくsda2から起動します。

ちょっと待って

これを行う前に、1つの注意点があります。grub-installを間違えて、sda MBRを上書きした場合、またはGRUB to MBRを上書きすると、Windowsに戻るためにTrueCryptブートローダーを再インストールする必要があることがわかります。準備ができていない場合、これは非常に面倒です。

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

私はこれらのコマンドセットの両方を小さなシェルスクリプトに入れており、手元に置いています。誤ってブートローダーをザッピングしたとき(それは起こります)、コマンドを探し回ったり、manを読んだりしたくありません。

ああ、そして互換性についての一言。 「GRUB」と書くときは、GRUB 1または2を意味します。個人的には、10.04およびWindows7ではGRUB 2 ...ですが古いバージョンのGRUB、Windows、およびLinuxで正常に動作しました。

6

私はこれをかなりスムーズに解決したと思います。私の元の状況は次のとおりでした。Windows7パーティションとUbuntu10.10パーティション(MBRにあるUbuntuのgrub2)を備えた暗号化されていないネットブック(MSI U160)がありました。

  1. Truecryptをインストールするには、Windows7を元のパーティションに再インストールする必要がありました。
  2. 次に、truecryptをインストールしました(Windows 7パーティション全体を暗号化します)
  3. これら の手順を使用してUSBキーからUbuntuを再インストールし、grub2ローダーをUbuntuパーティションに配置しました
  4. 再起動後、TrueCryptブートローダーを取得します。 [ESC]を押すと、Linuxパーティションを含むボート可能なパーティションのリストが表示されます(Windowsパーティションも表示されますが、暗号化されているため、起動に失敗します)。

これもあなたが望むものだといいのですが。

1
Huhu Lesny

私は過去2日間これと戦ったばかりで、これらの答えのどれも私のために働くことができませんでした。私がついに機能するようになったのは、 私のブログで を文書化したことです。要約バージョンは次のとおりです(Debian wheezyで実行。Ubuntuでも機能するはずです。他のディストリビューションでは若干の変更が必要な場合があります):

基本的に、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]修復オプションが表示されることに注意してください。しかし、それは私には小さな欠点のように思えます(そして追加機能と見なされることさえあります!)

1
Flimzy