web-dev-qa-db-ja.com

Windowsはディスクパーティションを検出できません

昨日、HDDを拭き取った後、DVDを使用してWindows 8.1プレビューをインストールしました(その前にバックアップを作成しました)。 Windowsのインストール中に、Windowsのインストールに必要なパーティションのみを作成しました(システム予約済み、C:2番目のスクリーンショットに表示)。さらに、Ubuntu13.04をインストールしました。 Ubuntuのインストール中に、必要な拡張パーティションを作成しました(OS、スワップ、ホームディレクトリ用-スワップを除くすべてのext4)。後でUbuntu内で、最後にNTFSパーティションを作成しました(最初のスクリーンショットのパーティション4)。これはプライマリパーティションでした。この背後にある目的は、パーティションがWindowsからアクセス可能でなければならないということでした。

Ubuntuディスクユーティリティはパーティション分割を問題なく報告しますが(以下のように)enter image description here

Windowsのディスク管理では、すべてのパーティションがプライマリとして表示されています。 enter image description here

したがって、Windows内では、C :!にしかアクセスできません。私が困惑しているのは、それほど多くのプライマリパーティションを作成できないことです。この問題を解決するにはどうすればよいですか?

3
Chethan S.

まず、Windowsによる論理パーティションの「プライマリ」としての識別を無視します。これは長年のWindowsのバグです。

次に、Linuxで作成したNTFSパーティションのパーティションタイプコードが間違っている可能性があります。 Linuxのfdiskコマンドを使用して、fdisk -l /dev/sdaのようにタイプコードを表示できます(rootと入力するか、Sudoを前に付けます)。 NTFSパーティションには、Idの出力のfdisk列の下に07のタイプコードが必要です。そのコードがない場合は、fdiskで変更できます。 fdisk /dev/sdaと入力し、tオプションを使用してタイプコードを変更し、wを使用して変更を保存します。

私が思い浮かぶもう1つの可能性は、NTFS構造が無効である可能性があることです。パーティションをFATに変換して、表示されるかどうかを確認してみてください。そうである場合は、NTFSに変換し直しますWindowsの場合。これにより、Windowsが必要とするNTFSが生成される可能性があります。

頭に浮かぶ他の唯一の可能性は、これがWindowsのバグであるということです。つまり、拡張パーティションの後に続くプライマリパーティションを読み取ることができないということです。その場合、明らかな(しかし厄介な)解決策は、NTFSパーティションを削除し、Linux緊急ディスクとGPartedを使用してLinuxパーティションをディスクの最後に移動し、拡張パーティションの前に新しいプライマリNTFSパーティションを作成することです。 。ただし、これを試す前に、もう少し待って調査することをお勧めします。他の誰かが別の(より安全で簡単な)試みを思い付くかもしれません。

ただし、何をするにしても、しないでください Windowsで新しいパーティションを作成してみてください。 Windowsパーティショナーには、4つを超えるパーティションが必要な場合はいつでも、ディスクをLDM(別名「ダイナミックディスク」)を使用するように変換するという厄介な習慣があります。 Linuxはそのような設定から起動できません(または、起動できる場合は、非常に十分に文書化されていません)。したがって、Windowsがそのような変換を行うと、さらに深刻な問題が発生します。ディスクにWindows以外のパーティションが含まれている場合に、Windowsがこれを実行するかどうかはわかりません。また、ディスクで試してみるのは、これについて学ぶ良い方法ではないと思います。

3
Rod Smith

可能性があります Windows 10が起動中に実際にコンテンツ(パーティションテーブルエントリ)をスキャンせず、何らかのキャッシュ情報に依存するという問題があります。

私が遭遇した状況:

Windows 10 + Linux(Fedora 31)NVMEssdのデュアルブート。すべてが良い。

完全にゼロ化された(dd付きの)セカンダリ内蔵ハードドライブ(/ dev/sda)を追加しました。

プラグを差し込んだ状態でWindows10を起動しました。もちろん、初期化されていないものとして表示されます。

次に、Linuxを起動し、その上にDos MBRを作成し、プライマリNTFSパーティション(/ dev/sda1、タイプ7)、ntfs-3gをLinuxにマウントし、ファイルをコピーして、/ etc/fstabを介して自動マウントしました。

Linuxではすべて問題ありませんでしたが、Windowsはディスクが初期化されていないと主張し続けました。

(最終的に私は欲求不満で手を投げました:)

Windowsの「ディスクの管理」で、新しいMBRでディスクを初期化するように指示しました。

(Linuxは、マウントする/ dev/sda1が見つからなかったため、起動を拒否しました... Linuxリカバリをキューに入れます...)Linuxで、同じ開始/終了セクターを使用してMBRにNTFSパーティションを再作成しました。ワイプはありません。 。 Linuxは再び幸せです。コピーされたファイルはまだそこにあります。

Windowsでは、まだ初期化されたばかりのディスクしか表示されませんでした。

(もっと頭を掻く...)

Windowsの「ディスクの管理」を使用してオフラインにしてからオンラインにすると、ディスクはパーティションをD:として表示し、コピーされたすべてのファイルが含まれます。エラーがないかスキャンしても問題はありませんが、不思議なことに、デフラグが非常に必要であるように見えます(コピーされたものはたくさんありましたが、削除されたものはありませんでした)-デフラグは成功しました。

したがって、Windowsには、内部ハードドライブを手動でオフライン/オンライン化しないと更新されない、ある種のパーティションキャッシュがあると主張します...

これはおそらくプライマリドライブにとってさらに問題であり、ブート/ C:ドライブであるためにオフラインにすることさえできないと思われます。

そのため、プライマリWindowsブートドライブの場合は、「ディスクの管理」ユーティリティの外部からのものをいじらないでください。

0
MaZe