web-dev-qa-db-ja.com

Ubuntu 11.10(Oneiric Ocelot):論理/拡張パーティションにWindowsをインストールする-デュアルブート

3つのプライマリ/基本パーティションがあります。

  • sda1。 Ubuntu 11.10ルートドライブ(40 GB)
  • sda2。 FreeBSDルート(20 GB)
  • sda3。 Windows XPルートドライブ(4 GB)

5つのディスク(sda4sda6)に分割された234 GBの論理/拡張パーティション9があります。

プライマリパーティション#3(sda3)には4 GBのスペースしかありませんが、これは非常に不十分です(MS OfficeにのみWindowsが必要であり、いくつかの奇妙なエンジニアリングソフトウェアが必要です。それのためのスペース)。

Windows XPを、パーティションテーブル構造とプライマリおよび論理のいずれかのパーティションを損傷することなく、論理/拡張パーティションのディスクの1つ(sda69)にインストールできますかパーティション/ディスク?


Partitions structure: /dev/sda

/dev/sda1   ext4   /       Oneiric-Ocelot       40G
/dev/sda2   ufs            FreeBSD              20G
/dev/sda3   ntfs           WinXP Pro            4G      #This will be formatted 'ext4' & contents of '/Mix' will come here
/dev/sda4   extended                            234G
    /dev/sda5   ext4    /Docs        Docs              34G
    /dev/sda6   ext4    /Multimedia  Multimedia        186G
    /dev/sda7   unallocated                            2MB
    /dev/sda8   ext4    /Mix         Mix               10G   #Windows XP is to be installed here
    /dev/sda9   linux-swap                             04G
3
user55050

Windowsは、プライマリパーティションだけでなく、論理パーティションにもインストールできます。はい、論理パーティションにインストールされたWindowsのブートローダーは実行されませんが、プライマリパーティション上のOSのブートローダーで起動できます。

これは、プライマリパーティションに他のバージョンのWindowsがプレインストールされている論理パーティションにWindowsをインストールするユーザーに適用されます。それはソフトウェアを介して行われました EasyBCD

1
Avinash Raj

私はもう1つ、はるかに複雑な機能を持っていますが、機能します。

最初にこのスキームの警告:HDDが1つしかない場合は、スキームとしてWindowsをインストールできない可能性があります(試行しなかったため、ウィンドウを複製してMBRディスクにインストールされた以前のウィンドウを使用しました) GPartedを使用したパーティション)。

私は自分自身に課す必要があります(物事を本当に複雑にするため):

  1. BIOSのみPC(U-EFIなし、EFIパーティションなしなど)および32Bitsのみのサポート(64Bitsの許可なし)
  2. HDDが1つだけ存在し(ほとんどのラップトップと同様)、他のストレージは存在しません(USBなどはありません)
  3. GPTスタイルのHDD(MBRではありません)、ここでは警告、WindowsはネイティブモードでGPTから起動できません(起動するには外部または仮想MBRディスクが1つ必要です)
  4. メインブートローダーとしてのGrub2
  5. マルチWindows 32ビット(ホームバージョン)、物事をさらに難しくする
  6. 物事をもう少し複雑にするために、すべてのウィンドウを隔離しました
  7. メインメニューを選択すると、選択したウィンドウがデスクトップに表示されます(または、少なくともウィンドウの構成は、ウィンドウの構成方法によって異なります)。
  8. 100%合法なので、異なるWindowsバージョンなどからファイルをコピーすることはできません。

注:Vistaから10の場合に限り、XPを放します(GPTはサポートしません).

ブートスキームはBIOSロードGrub2で、その後memdiskがロードされ、VHDファイル(Windowsごとに1つ)がマウントされ、チェーンロードされます。

VHDは固定サイズでなければならず(起動時にmemdisk loループマウントできるようにするため)、1つのNTFSパーティションのみを持つMBRスキーム(起動ウィンドウに必要)を持つ仮想HDDです。 VHD自体はNTFS GPTパーティションに保存されます。このVHDファイルはウィンドウの分離を行い、各ウィンドウには独自のBCDがあり、すべて同じBCDを使用しないため、ブート時にWindowsブートメニューを表示する必要はありません。

そのVHD内では、パーティションはnt60ブートコードとBCDにのみ使用されます。このようなVHDに32MiBを使用しましたが、2MiB近くしか無料にならないため、サイズを小さくしたり、すべてのロケールBCDディレクトリを配置したりしないでください。

このすべてを機能させるには、nt60コードとBCDをそのVHDファイルに配置する必要があります。そのため、VHDファイルをマウントする必要があります。これはdiskpartで実行でき、インストールメディアでも実行できます。

理論的には、インストール時にそのVHDをマウントし、そこにnt60コードとBCDを配置する場合、インストールで続行できるようにする必要があります(MBRディスクが表示され、事前に構成されていると考える必要があります)別のウィンドウで)。

多くの32ビットWindows Homeバージョン(Vistaから10)で試してみましたが、すべてブートnt60コードとBCDがある仮想MBRディスクがブート時に表示されるため、すべてGPTディスクから正常にブートします。

今、私は別のアプローチ/テストを試みています:

  • 前と同じ条件ですが、ディスクの100%である拡張パーティションが1つしかないMBRディスクが1つしかないため、プライマリパーティションはまったく存在しません。

プライマリパーティションが存在しない場合、Windowsは起動できませんが、nt60ブートコードとBCDなどを配置するプライマリNTFSパーティションを持つ仮想MBRディスクを使用するトリックを使用します。ウィンドウごとに1つ。

Grub2は(ほとんどのLinuxなどと同様に)論理パーティションの内部からブートできるため、概念的には動作する必要がある場合もあります。

なぜ私はそのような複雑なことをすべてするのですか?簡単な答えは、100%暗号化、各ウィンドウに独自のパスワードなどがあります。

複雑な答え:

  1. BitLockerはM $およびNSAサーバーにパスワードを送信し、パスワードなしでそれらをマウントできる大きなバックドアも備えています。
  2. TrueCryptとVeraCryptはマルチウィンドウをサポートせず、分離もしていないため(作業に共通の場所を使用します)、1つのウィンドウのみを保護できます。 BIOSのみと32ビットWindowsホームのみを覚えておいてください
  3. DiskCryptorは、複数の分離ウィンドウを保護し、GPTパーティション(データパーティションのみ、システムパーティションはなし)を保護することもできます。
  4. カスケードアルゴリズムなどを使用できない他の暗号化は信頼していません。私は、ソースコード(彼らが隠そうとしているもの、バックドアなど)を見せてくれない暗号化を信用していません。

そのため、GPTスキームでは、DiskCryptorは起動時に動作せず、ソースコードを読み取り、起動時にGPTパーティションをマウントするコードがないため、:\ Windows\System32\Winload.exeが見つからないため、Windowsはブート。ソースコードをダウンロードする前に2台の物理HDDでテストしましたが、気が狂っていたので、ブート時にGPTマウント用のソースコードが見つからないソースコードをダウンロードすることにしました。

DiskCryptorはブート時に1つ以上のMBRパーティション(同じパスワードを使用するものすべてがマウントされます)を自動マウントできるため、100%拡張パーティションの方法を試しています。

なぜ物理プライマリパーティションを配置して、そこにnt60ブートodeとBCDのものを保存しないのですか?そうすれば、すべてのウィンドウをネイティブモードでインストールおよび起動でき、余分なものは必要ありません。しかし、それらは100%分離されず、そのパーティションを共有します。したがって、パーティションにひどく触れると、誰も起動できなくなり、再びディスクの100%を暗号化します(ブートセクタではなく、パーティションテーブルではなく、すべてのパーティション)。分離モードでは使用できません。起動時にすべてのウィンドウに少なくとも1つのパスワードを使用する必要があります。

実際のシナリオを想像してください:

  • 乗算ユーザー、各ユーザーは独自のウィンドウを使用するため、ユーザーは何でも、ウィンドウで実行します
  • 1人のユーザーがウィンドウをクラッシュしても、他のユーザーは影響を受けません
  • 各ユーザーは、独自のアプリ、管理権限を必要とするアプリなどを持つことができます
  • 分離された暗号化では、他のユーザーのものを読み取ることができません。

最良のアプローチは、外部のSATAディスクを使用して(内部にあるかのように見える)それぞれが自分で運ぶことです。

しかし、私はそれが内部などであることを望みます.

本当の動機は、物事を一生懸命に、複雑に、好きなことをやるのが好きなことです。私は自分のスキルをテストするのが大好きで、多くを学ぶ方法でもあります。

あなたの心を願って、今ではウィンドウを起動する別の方法にもっと開かれています。

PD:Linuxでは、このことははるかに簡単です。Windowsでは、必要なものよりも困難になります(nt60 code load bootmgr。これは、winload.exeを読み取ろうとするMBRプライマリアクティブパーティションのみのハードコードされた検索を行います。など)。

1
Laura

同じハードディスク上に予備のNTFSプライマリパーティションが既にある場合は、拡張/論理パーティションにWindowsをインストールできます。 Windowsインストーラーは、選択した拡張パーティションにOSをインストールしますが、ブートローダーをインストールするにはNTFSプライマリパーティションが必要です。

Windowsをインストールしたら、必要に応じて予備のNTFSプライマリパーティションを削除できます。ただし、Windowsをインストールした論理パーティションにBCDブートローダーをインストールする必要があります。 Windowsリカバリコマンドプロンプト(WindowsインストールCDを使用)を起動した後、bcdbootを使用します。状況に応じてドライブ文字を置き換えてから、次のコマンドを実行します...

bcdboot i:\windows /s i:

ここで、i:は、WindowsがインストールされているパーティションにブートCDによって割り当てられたドライブ文字です。 Windowsのdiskpartコマンドを使用して、どのドライブ文字がどのボリュームに割り当てられているかを調べます。

このパーティションから直接起動するようにGRUB2を構成する必要があります。 Ubuntuを起動し、次のコマンドを実行します...

Sudo update-grub

これで、GRUB2メニューにWindowsがオプションとしてリストされます。

注:複数のバージョンのWindowsがマシンにインストールされている場合は、grub.cfgファイルでGRUB2 parttoolコマンドを使用して、ブート時に他のOSのパーティションを非表示にすることを検討する必要があります。

parttool (hd0,2) hidden- # Unhide the partition for current OS
parttool (hd0,3) hidden+ # Hide the partition for the other OS
1
Autodidact