EDIT3
これはまったく絶望的なケースかもしれないので、私はもっと簡単な別の方法を投稿しましたが、それでも助けが必要です。
https://superuser.com/questions/706244/will-this-work-backup-partition-contents-of-both-linux-and-windows
最近、Windows8とKDELinux Mintがインストールされているディスク上のパーティションのサイズを変更しました(/ sda2で別のパーティション/ sda1を作成しました)。多くのことがうまくいかなかった。
まず、コンピューターはBIOSを超えて起動せず、grubレスキューを提供してくれました。 Live Linux USBでは、ブート修復アプリを使用してgrubを(/ sdaに)再インストールしました。ありがたいことに、Linuxは新しいgrub2メニューから起動しましたが、ロードしようとするとWindowsがクラッシュしていました。 Linuxで詳しく調べてみると、KDE PartitionManagerやGPartedなどのアプリはどちらも/ sdaディスクのパーティションを読み取れないことがわかりました。
KDE Partition Managerは、「このデバイスで有効なパーティションが見つかりませんでした」と表示します。 GPartedは、すべてが割り当てられておらず、「パーティションのすべての制約を満たすことができない」ことを示しています。
次に、別のアプリ、FixPartsをインストールしました。それは私に次のことを与えました:
Warning: 0xEE partition doesn't start on sector 1. This can cause problems
in some OSes.
そして
Disk size is 250069680 sectors (119.2 GiB)
MBR disk identifier: 0x0FB1A4FB
MBR partitions:
Can Be Can Be
Number Boot Start Sector End Sector Status Logical Primary Code
1 63 192779 primary Y Y 0x07
2 * 208839 134062424 logical Y Y 0x07
5 134066176 234067967 logical Y Y 0x83
6 234067968 250068991 primary Y 0x82
fdisk -lは私にこれを与えました:
Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0fb1a4fb
Device Boot Start End Blocks Id System
/dev/sda1 63 192779 96358+ 7 HPFS/NTFS/exFAT
/dev/sda2 * 208839 134062424 66926793 7 HPFS/NTFS/exFAT
/dev/sda3 134066175 250068991 58001408+ f W95 Ext'd (LBA)
/dev/sda5 134066176 234067967 50000896 83 Linux
/dev/sda6 234067968 250068991 8000512 82 Linux swap / Solaris
ここで、sda1は単なる空のNTFSパーティションであり、sda2には私のWindows 8が含まれ、sda5はLinux /(root)です。/homeは別のディスクにあります。
データを保持したい。また、SSDであるため、Windows8とLinuxを同じディスク上に配置したいと思います。可能であれば、GrubとWindowsの両方のブートファイルを同じディスクに配置したいのですが、それは別の問題です。
[〜#〜]編集[〜#〜]
最初は「0xEEパーティションがセクター1で始まらない」と思っていましたが、今はよくわかりません。私の他のディスク(私は3つを得ました)は同じエラーを出しますが、パーティションアプリはそれらを読み取ることができます。ただし、ブート修復アプリがすべてのディスクにgrub2を再インストールするのを見たのを覚えているので、おそらくそれは関連しています。また、Windows 8パーティション(/ dev/sda2)が論理的であることがわかりましたか? Windowsは論理から起動できないため、以前は起動できませんでした。データを失うことなく、どうすればそれを変更できますか?
EDIT2
ブート修復アプリからの本当に詳細な情報: http://paste.ubuntu.com/6805345/
私の良さ、これはただの混乱です。
目立つ問題のほんの一部を次に示します。
「0xEEパーティションはセクター1で開始しません」
現在、これらのディスクにはタイプ0xEEパーティションがありません。このメッセージが示すように、あなたがそれを持っていた場合、ある時点であなたのディスクは非常に異なるパーティションテーブルメカニズムでパーティション化されました。 「完全に破壊されたようです。このような状況では、「ハイブリッド」パーティションテーブルスキーム(可能な限り同じパーティションを記述する並列MBRおよびEFIパーティションテーブル)がその寿命の1インチ以内に修復された結果である可能性があります。または、おそらく1インチ先です。
これは、Windows8が起動しない理由の1つの可能性です。 Microsoftは、MBRパーティションテーブルでパーティション分割されたディスクにインストールすることは、EFIの方法で起動しないことを意味し、その逆も同様であると誤って想定しています。パーティションを根本的に「修復」して、パーティションテーブルスキームをEFIからMBRに変換できた場合は、おそらくWindowsの地獄を混乱させているでしょう。
もちろん、ブロック#1で開始されなかったタイプ0xEE MBRパーティションテーブルエントリは、そもそも破損の兆候であったため、何が起こったのかnotこれでした。もう1つの考えられる説明は、0xEEパーティションテーブルエントリがゴーストであったことです。これは、Windowsがマシン上でEFIの方法でブートストラップしている、またはブートストラップしたことがあるという兆候がないという事実によってサポートされています。
ブート修復アプリがすべてのディスクにgrub2を再インストールするのを見たのを覚えています。
これを、タイプ0xEE保護MBRレコードを完全に存在しない状態に「修復」することと組み合わせると、EFIパーティションテーブルがすべて消去されます。もちろん、これは、そもそも実際にEFIパーティション化されていることを前提としています。
=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of
the same hard drive for core.img.
Grubは通常のMBRウイルスモードでインストールされており、EFIパーティションテーブルがある場所にcore.img
があります。
今、私はWindows 8パーティション(/ dev/sda2)が論理的であることがわかります???
fdisk
からの出力にはありませんが、ありません。それを示すものは何もありません。また、マイナーデバイス番号2が割り当てられているという事実は、それがプライマリパーティションであることを強く示しています。セカンダリパーティションは、5から始まる番号を取得します。
もちろん、FixPartsは真実を語っている可能性があります(そして間違いなくそうです)。この場合、MBRパーティションテーブルにはアクティブなプライマリパーティションがまったくありません、Windows 8は本当に拡張パーティションの論理ボリュームにあり、不思議なことはありません起動しません。 VBR bootstrapブートマネージャがその場でBPBを修正しない限り、プログラムはセカンダリパーティションでうまく再生されません。Grubはそれを行わないと確信しています。ここでプライマリパーティションからセカンダリパーティションへの変換を元に戻す必要があります。Windows8ボリュームは間違いなくプライマリパーティションである必要があります。
/dev/sda1: LABEL="SYSTEM RESERVED" UUID="01CF186FCBFB6340" TYPE="ntfs"
...
/dev/sda2 * 208,839 134,062,424 133,853,586 7 NTFS / exFAT / HPFS
最初のプライマリパーティションは明らかにあなたの (Poor Man's)システムボリューム です。ただし、2番目のプライマリパーティション(またはfdisk
またはFixPartsのどちらを信じているかによって、最初のセカンダリパーティション)はアクティブとしてマークされたパーティションです。これもWindowsを混乱させます。手始めに、アクティブフラグがないため、最初のプライマリパーティションを「システム」として認識しません。
また(fdisk
が正しいと仮定して)、(EFIの方法ではなく)古いPC/ATファームウェアの方法で起動しているため、bootstrapは間違ってロードされます間違ったボリュームからのVBR(それが本当にシステム予約済みボリュームであることが意図されている場合)FixPartsが正しい場合、bootstrapは、間違ったボリュームから、間違ったBPB値で間違ったVBRをロードします同様に。
それは私をに連れて行きます:
=================== hexdump -n512 -C /dev/sda1
00000000 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|
...
000001a0 0d 0a 4e 54 4c 44 52 20 69 73 20 6d 69 73 73 69 |..NTLDR is missi|
000001b0 6e 67 00 0d 0a 4e 54 4c 44 52 20 69 73 20 63 6f |ng...NTLDR is co|
000001c0 6d 70 72 65 73 73 65 64 00 0d 0a 50 72 65 73 73 |mpressed...Press|
Poor Manのシステムボリュームには、古いWindows NT 5.x VBR bootstrapプログラムが含まれています。
=================== hexdump -n512 -C /dev/sda2
00000000 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|
....
000001a0 63 75 72 72 65 64 00 0d 0a 42 4f 4f 54 4d 47 52 |curred...BOOTMGR|
000001b0 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 00 0d | is compressed..|
000001c0 0a 50 72 65 73 73 20 43 74 72 6c 2b 41 6c 74 2b |.Press Ctrl+Alt+|
2番目のプライマリパーティションにWindowsNT 6.x VBR bootstrapがあります。これにより、アクティブフラグがあるため、「ブート」ボリュームと「システム」ボリュームが組み合わされます。
sda1: __________________________________________________________________________
Boot sector type: Windows 2000/XP: NTFS
Boot files:
sda2: __________________________________________________________________________
Boot sector type: Windows 8/2012: NTFS
Boot files: /bootmgr /Windows/System32/winload.exe
しかし、MicrosoftのBootManagerは適切に存在していません。 BCDストアが完全に欠落しています。 2番目のプライマリパーティションのVBR bootstrapプログラムは、Microsoftのブートマネージャーを見つけることができます。しかし、Microsoftのブートマネージャーは、システムボリュームにBCDストアを持っていません。
sdc1: __________________________________________________________________________
Boot sector type: Windows 8/2012: NTFS
Boot files: /bootmgr /Boot/BCD /NTLDR /ntdetect.com
対照的に、3番目のディスクでは、最初のプライマリパーティションがアクティブとしてマークされているため、PoorManのシステムボリュームになります。 MicrosoftのBootManagerとBCDストアの両方があり、Windows NT 6.x VBR bootstrapプログラムがあります。これは、最初のディスクが何であるかを疑っています shouldのように見えますが、そうではありません。
私は提案します:
sda2
がセカンダリパーティションである問題を修正します。sda1
をアクティブとしてマークします。sda1
は、以前のように、PoorManの「システム」ボリュームになりました。sda1
に配置します。sda1
に配置します。sda1
にBCDストアを作成します。sda2
を起動するためのBCDエントリを追加します。sda1
は、PC/ATの方法で少なくともbootstrap)になります。sda
に再インストールします。hd0,msdos0
またはhd0,msdos1
についてはまったく言及されていないため、不足しているエントリをgrubに追加します。後は君しだい。