Truecryptとそのブートローダー(Windows XPパーティションとマルチブート)からUbuntu 10.04のGRUB2をチェーンする方法


9

Truecryptで通常どおりWindows XPのパスワードを要求しますが、標準の[ESC]オプションを使用して選択します。つまり、Escapeキーを使用して、(暗号化されていない)Ubuntuインストールの問題を検出します。

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

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

Ubuntuフォーラムなどでかなり広範囲に回答を検索しましたが、すべての不測の事態、シナリオ、エラーメッセージを網羅する完全な回答はまだ見つかりません。Ubuntu 10.04はGRUB2を使用します。

私のセットアップ:

パーティション:

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

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

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

Truecrypt

パスワードを入力する:

(または[ESC]でスキップ)

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

よろしくお願いします。

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

回答:


6

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

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

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

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ブートローダをインストールするsda2のではなく、sda

grub-install /dev/sda2 --force

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

ちょっと待って

これを行う前に、1つの注意点があります。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

私はこれらのコマンドのセットを両方とも小さなシェルスクリプトに入れています。誤ってブートローダーをざっと叩くと(それが起こります)、コマンドや読み取りのためにグーグル操作したくありません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 2012

さらに、sda2は/ bootパーティションですか?
stefan.at.wpf 2012

わかりましたsda2はルートパーティションです、くそー、私は暗号化されています...
stefan.at.wpf

dd基本的にフルブートセクタ:コマンドは、ディスクの最初の32 KBをコピーしています。上記の例では、個別のブートパーティションはありません。nixインストールは単一のパーティションにあります。RedHatの初期の頃は、Linuxデスクトップ上の個別のパーティションを使用してツールを作成していました。最近の大きなディスクでは、ほとんどの場合、サーバー用に厳格な問題を解決できると思います。
エイダンフィッツパトリック

2

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

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

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

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

他の人が役に立つと思うかもしれないいくつかの参照があります:

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

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

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

背景の考えと学習(興味がある場合!)

私は実際にそれを私に良くさせ、私の答えを勝ち取り、解決するために戦い続けましたが、私はそれを一日呼び出して代替案に出会ったと言って本当に嬉しいです。しかし、それが(簡単に)不可能であり、代替策があることを受け入れることは安心です。今、私はより重要なことを始めることができます!暗号化なしでデスクトップ上でWindows 7とUbuntu 10.04をすでにデュアルブートしています。これは非常に簡単な手順です。そして、代替案については、私は私の元の答えで望んでいたものから遠くはありません。実際、私は現在ノートブックでUbuntuをWindowsほど使用していないので、見逃すことはありません。私はMacBookProも持っているので、他のどのOSよりもWindowsファンではありません。

別のユーザーの観点から、Ubuntuでのtruecrypt暗号化ウィンドウのデュアルブートが必要な理由は次のとおりです。

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

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


私がまだ検討していないオプションは、Ubuntu Alternate CD / .ISOイメージを使用することです。ここからダウンロードしてください。releases.ubuntu.com/ lucid Ubuntuフォーラム(上のリンク)で質問のコピーを投稿した場合は、これについて言及した回答者からの投稿が表示されます。重要な点は、GRUBをどこに配置するか(そして私が行ったように手動で推測するのではなく、正式かつ適切にそれを実行すること)を選択できることと、同じマシンで暗号化されたUbuntuとTruecrypted Windowsを実現したとポスターが主張していることです。それが私の目的でした。
therobyouknow

1

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

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

これもあなたが望むものであることを願っています。


1

私はこれと戦うために最後の2日間を費やしただけで、これらの答えのどれも私のために働くことができませんでした。ようやく機能したことをブログに記録しました。ここに概要バージョンがあります(Debian wheezyで実行。Ubuntuでも機能するはずです。他のディストリビューションでは若干の変更が必要になる場合があります):

基本的に、GRUB2をチェーンロードしてSYSLINUXをロードします。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
    

これにより、Windowsを起動するたびに[F8]修復オプションが表示されます。これは、「通常の」TrueCrypt起動方法ではなく、ハードドライブからTrueCrypt Rescue CDイメージを起動するシステムをだましているためです。しかし、それは私にとって小さな欠点のようです(そして、追加機能と見なされることさえあるかもしれません!)


あなたの成功した努力に+1票を投じて、素晴らしい仕事@Flimzyある時点であなたの答えを試して報告したいと思います。私があなたの成功を繰り返すことができれば、あなたの答えを受け入れさせたいです(私はとにかくこれをもっと早く行うかもしれません)私は実験できるマシンを持っていません、それらはすべて他のもののために現在使用中です)。再度、感謝します!
therobyouknow 2013

-1

解決策:truecryptブートローダーをIMGファイルにコピーして、grubで起動しますか?または、Grub4Dosを使用してUbuntuをロードしますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.