あるサイズのドライブ上で dd を使用して作成された NTFS パーティションのイメージを取得し、それを異なるサイズの別のドライブに書き込むにはどうすればよいですか?

あるサイズのドライブ上で dd を使用して作成された NTFS パーティションのイメージを取得し、それを異なるサイズの別のドライブに書き込むにはどうすればよいですか?

私は、ハード ドライブのパーティションのイメージを作成するために、USB スティックから Ubuntu を実行しました。実質的には dd に似た GNU ddrescue を使用しました。ソース ドライブ (イメージを作成したドライブ) は 160 GB でした。

あるサイズのドライブで dd を使用して作成された NTFS パーティションのイメージを取得し、それを異なるサイズの別のドライブに書き込むにはどうすればよいですか? イメージを書き込むドライブは 1TB です。

パーティションを別のドライブのパーティションに書き込むと、サイズが一致せず、サイズ変更も機能しない可能性があることに気付きます。それに、パーティションのサイズを変更したくないのです。

おそらく dd イメージを macrium イメージに変換する方法があるのではないかと考え、OSFmount でイメージをマウントし、マウントされたパーティションを右クリックして、macrium reflect でイメージの作成をクリックしてみましたが、macrium はそれを認識しませんでした。macrium は、仮想パーティション上ではなく、イメージの作成元となる実際の物理ディスク ドライブがある場合にのみ機能するようです。

では、dd から作成された生のイメージを別のドライブのパーティションに書き込むにはどうすればよいでしょうか?

答え1

前回似たようなことをしたとき、私はLinux LiveCDでPCを起動し、GParted.
新しいMBRとパーティションテーブルがターゲットドライブにインストールされました(GParted)。
ソースドライブ上の各パーティションについて:

  • ターゲットドライブに、少なくとも元のサイズと同じサイズの新しいパーティションを作成します(GPartedまたはfdisk)。
    元のファイル システムと正確に同じセクター数に近づけるほど、移植されたファイル システムで問題が発生する可能性が低くなります。

  • 元のドライブのパーティション(またはパーティションイメージ)をターゲットドライブにコピーするには、dd

  • ターゲットパーティションのサイズを新しい要件に合わせて変更します(GParted)。
    パーティション内のファイルシステムもそれに応じて調整されます。
    サイズの増加は比較的早く完了するはずです。

  • 次のパーティションについても繰り返します。


付録

しかし、Gparted にはパーティションを非表示にするオプションがありません。

あなたの主張は正しくありません。
まずパーティションを選択します。
次にメニュー バーから を選択しPartitionManage Flagsドロップダウン メニューから選択します。
そこから、「hidden」を含むさまざまなパーティション フラグを有効/無効にできます。

また、プライマリを論理に変換するオプションもありません...


これは、基本的な操作によって最もよく実行される疑わしい変換です。論理的なパーティションは、延長パーティション。
拡張パーティションを自動的に作成すると、使用可能なサイズや後続の操作への影響など、さまざまな影響が生じます。

複数の拡張パーティションを作成できるかどうかはツールによって異なり、移植可能である必要があることに注意してください。Windows との互換性を保つために、拡張パーティションは 1 つしか作成できません。

...したがって、イメージをパーティションにコピーした後、パーティションをプライマリから論理に変更したい場合は、パーティションを削除して論理として再作成し、再度コピーする必要があります。

上で説明した手順では、イメージを書き込む/コピーする前に、コピー先のパーティションを作成する必要があることが明確に示されています。
コピー先のパーティションを論理パーティションにする必要がある場合は、まず拡張パーティションがすでに存在することを確認してから、論理パーティションを作成します。
元のパーティションが論理パーティションであるときにプライマリ パーティションを作成すると、コピー手順が失敗することになります。

プライマリ パーティションを論理パーティションに変換するのは不正な操作です。


補遺2

たとえば、元のハード ドライブが壊れているなどの理由で、元のドライブがプライマリか論理ドライブか分からないとします。
論理ドライブではなくプライマリ ドライブを作成した場合、コピー手順が失敗し、再度コピーする必要があるのは当然だと言えるでしょうか。

どの時点で、どのようにして宛先パーティションを論理パーティションにすべきだと判断したのですか?

これらの回答を踏まえると、宛先パーティションをプライマリ パーティションとして作成する前にその決定ができ​​なかった理由は何でしょうか。


実際には、コピー手順はパーティションの作成とは別であり、...

私の手順ではそうではありません。
各宛先パーティションは、元のサイズで作成されます。
ファイルシステム (つまり、パーティション イメージ) が新しいパーティションに書き込まれた後、パーティションとファイルシステムのサイズが変更されます。
この手順は、パーティション内に含まれるファイルシステムのサイズを変更する方法を GParted が知っていることに依存しています。ファイルシステム
をパーティションに適合させる方法に関するファイルシステム コマンドを調べたり学習したりする必要はありません。そのタスクは GParted に割り当てられています。


変換するオプションがあれば、再度コピーする必要はありません。

プライマリ パーティションから論理パーティションへの変換は、想像するほど簡単 (または便利) ではありません。

これウェブページマウスを 1 回か 2 回クリックするだけで「プライマリ パーティションを論理パーティションに変換」できるユーティリティについて説明しています。
この記事の最後にあるこの重要なコメントで、その落とし穴が明らかになります。

The location and the size of the primary partition will be slightly different after 
converting due to the fact that the logical partition is 63 sectors bigger 
than primary partition.

(「63 セクター大きい」が論理パーティションの位置またはサイズ (あるいはその両方) を指しているかどうか判断が難しいため、この表現は不適切です。「位置」の変更は確かに意味があります。したがって、筆者がサイズについて言及していた場合、サイズの違いを逆に理解しているに違いありません。そうでなければ、変換によって元のサイズよりも多くのディスク領域が消費されることを意味します。結果のパーティションのサイズを増やす理由はまったくありません。)

パーティション サイズの変更(?) とは別に、このステートメントの影響により、時間のかかるパーティションのコピーが行われることが確認されます。
このコピーを実行するのにかかる時間は、論理パーティションを再作成してイメージを書き込むだけの時間の約 2 倍になります。

それはなぜですか?

プライマリ パーティションから始めます。
論理パーティションは拡張パーティション内に含まれる必要があります。
したがって、元の (プライマリ) パーティションの開始を後ろに押し出して、新しい拡張パーティション (の開始) 用のスペースを作成する必要があります。
理論上は 1 つのセクターだけで十分ですが、慣例的に 1 つのトラック、または 63 セクターの偽の HDD ジオメトリが使用されます。

この空き領域を作るには、まず元の(プライマリ)パーティション(およびそのファイルシステム)のサイズを、パーティションの末尾で63セクタ分縮小する必要があります(この変換で消費されるメモリは0であると仮定)。新しいディスク領域が不足している場合は
、元の (プライマリ) パーティション (およびそのファイルシステム) を 63 セクター分戻す必要があります。
この移動には、パーティションのすべてのセクターの読み取りと書き込みに時間がかかります。
移動が完了すると、新しく解放された領域に拡張パーティションを作成し、元のパーティションを論理パーティションとして再定義できます。

書き込むイメージがすでにある場合、このパーティション変換手順では時間の節約にはなりません。

変換中に時間のかかるコピーを回避する唯一の方法は、「チート」して割り当てられていないトラックを必要とするプログラムを使用することです。前の既存のプライマリパーティション、例えばこのユーティリティ:

Note: ... there should be at least 63 free sectors in front of the primary partition 
when changing it to logical.

また、「元のファイル システムと正確に同じセクタ数に近づけるほど、移植されたファイル システムで問題が発生する可能性が低くなります。」と書かれています。<-- これについて詳しく説明していただけますか?

これは単に元のパーティションを複製しようとする試みです。
割り当ての切り捨てが発生する可能性があり、元のパーティション (またはイメージのサイズ) とまったく同じセクター数でパーティションを作成することはできません。
そのため、次の割り当て手順でセクター数を切り上げます。

近づけずにサイズを変更すると、それは何を意味し、何が起こるのでしょうか?
サイズを変更したパーティションは、ファイル システムとは異なるサイズのままになるのでしょうか?

GParted は、パーティション サイズとファイルシステムの間にわずかな差異があっても、エラーを報告しません。GParted
でサイズを変更すると、ファイルシステムがパーティションを完全に占有するようです。
説明されているシナリオを試したことがないので、答えはありません。

答え2

ddWindowsやその他のサードパーティツールに関してはないパーティションをイメージ化する効率的な方法。

  • Windowsにはいつもパーティションまたは個々のディレクトリのイメージングがネイティブにサポートされています。
    • システム パーティションは WinPE/WinRE からのみイメージ化できますが、他のすべてのパーティションは Windows の起動中にイメージ化できます。
    • WIMインドウズ私は年)パーティション全体または個々のフォルダ/ファイルをキャプチャできます
      WimScript.ini除外または例外を指定するには、config ファイルを使用します。

  • すべての WinPE/WinRE WIMImageXまたはのいずれかDISMが含まれています。

    • WINPE: いいえ 勝つダウズ再インストール環境

      • Windowsセットアップブートメディア(SHIFT+F10アクセス端末へ)
    • WinRE: 勝つダウズR回復環境


コマンド

WinPEにはデフォルトで32MBのスクラッチ[一時]領域しかないため/ScratchDir

  • Windows >=8:DISM画像をキャプチャするために使用されます:

    DISM /Capture-Image /ImageFile:"Z:\Base.wim" /CaptureDir:"C:" /Name:"Windows Backup" /Description:"Base Image 2019.08.24 @ 08:30" /Compress:Max /CheckIntegrity /Verify /NoRpFix /ScratchDir:"Z:\"
    
  • Windows <=7:ImageXDISMの代わりに利用されます:

    ImageX /Capture "C:" "Z:\Base.esd" "Windows Backup" "Base Image 2019.08.24 @ 08:30" /Compress:Recovery /Check /Verify /NoRpFix /ScratchDir:"Z:\"
    



注記:

  • その不可能ESD/WIMイメージが破損する
    • 提供されるイメージングコマンドはいつも発行:
      • DISM: /CheckIntegrity/Verify
      • イメージX: /Check/Verify

  • ESDは、システムパーティション
    • /Compress:Recovery利用できる唯一の圧縮アルゴリズムです。
      • ESD 圧縮率は WIM 圧縮率よりも約 33% 効率的です。
      • Windows 10では、MicrosoftはプッシュボタンリセットエクスポートイメージのESDのみを許可しています。

  • ESD/WIMはスマートな圧縮画像フォーマットです
    • 新しい画像が追加されるときには、変更されたファイルのみが画像に追加されます。
      • 新しく追加されたイメージは、以前のイメージ内にすでに含まれている変更されていないファイルの同じコピーを利用します。
        • これにより、画像は、その中に含まれるデータに比べて小さいままになります。



DISM と ImageX の前提条件


例: /Get-WIMinfo||/Info

PS $  ls -file

  Directory: Z:\WIM

    Mode                LastWriteTime            Length  Name
    ----                -------------            ------  ----
    -a----        2018.12.24 03:34:13   95,019,530,773B  Base.wim
    -a----        2016.06.14 22:32:36              568B  DISM.cmd
    -a----        2016.05.17 05:36:10               97B  wimscript.ini

PS $  dism /get-wiminfo /wimfile:Base.wim

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

    Index : 1
      Name : Alienware 18: Windows 10
      Description : v1803: Base (Drivers Only)
      Size : 22,710,283,446 bytes

    Index : 2
      Name : Alienware 18: Windows 10
      Description : v1803: Software Installed (No Customizations)
      Size : 45,591,850,754 bytes

    Index : 3
      Name : Alienware 18: Windows 10
      Description : v1803: Software Installed (Customized)
      Size : 94,958,267,312 bytes

    Index : 4
      Name : Alienware 18: Windows 10
      Description : v1803: Software Group 1 Installed (Customized)
      Size : 101,588,267,910 bytes

    Index : 5
      Name : Alienware 18: Windows 10
      Description : v1803: Software Group 2 Installed (Customized)
      Size : 101,905,314,237 bytes

    Index : 6
      Name : Alienware 18: Windows 10
      Description : v1809: Updated Applications
      Size : 114,959,954,040 bytes

  The operation completed successfully.
PS $  dism /get-wiminfo /wimfile:Base.wim /index:1

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 1
      Name : Alienware 18: Windows 10
      Description : v1803: Base (Drivers Only)
      Size : 22,710,283,446 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17134
      ServicePack Build : 1
      ServicePack Level : 1
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 24288
      Files : 112665
      Created : 2018.05.05 - 13:56:47
      Modified : 2018.05.05 - 13:56:47
      Languages :
              en-US (Default)

  The operation completed successfully.


PS $  dism /get-wiminfo /wimfile:Base.wim /index:2

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 2
      Name : Alienware 18: Windows 10
      Description : v1803: Software Installed (No Customizations)
      Size : 45,591,850,754 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17134
      ServicePack Build : 1
      ServicePack Level : 1
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 45803
      Files : 203058
      Created : 2018.05.06 - 01:55:47
      Modified : 2018.05.06 - 01:55:48
      Languages :
              en-US (Default)

  The operation completed successfully.


PS $  dism /get-wiminfo /wimfile:Base.wim /index:3

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 3
      Name : Alienware 18: Windows 10
      Description : v1803: Software Installed (Customized)
      Size : 94,958,267,312 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17134
      ServicePack Build : 1
      ServicePack Level : 81
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 62409
      Files : 350446
      Created : 2018.06.01 - 19:09:51
      Modified : 2018.06.19 - 21:26:18
      Languages :
              en-US (Default)

  The operation completed successfully.


PS $  dism /get-wiminfo /wimfile:Base.wim /index:4

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 4
      Name : Alienware 18: Windows 10
      Description : v1803: Software Group 1 Installed (Customized)
      Size : 101,588,267,910 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17134
      ServicePack Build : 1
      ServicePack Level : 81
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 61908
      Files : 346074
      Created : 2018.06.08 - 21:54:02
      Modified : 2018.06.19 - 21:26:18
      Languages :
              en-US (Default)

  The operation completed successfully.


PS $  dism /get-wiminfo /wimfile:Base.wim /index:5

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 5
      Name : Alienware 18: Windows 10
      Description : v1803: Software Group 2 Installed (Customized)
      Size : 101,905,314,237 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17134
      ServicePack Build : 1
      ServicePack Level : 81
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 76113
      Files : 423408
      Created : 2018.06.09 - 20:38:36
      Modified : 2018.06.19 - 21:26:18
      Languages :
              en-US (Default)

  The operation completed successfully.


PS $  dism /get-wiminfo /wimfile:Base.wim /index:6

  Deployment Image Servicing and Management tool
  Version: 10.0.18362.1

    Details for image : Base.wim

      Index : 6
      Name : Alienware 18: Windows 10
      Description : v1809: Updated Applications
      Size : 114,959,954,040 bytes
      WIM Bootable : No
      Architecture : x64
      Hal : acpiapic
      Version : 10.0.17763
      ServicePack Build : 195
      ServicePack Level : 0
      Edition : Professional
      Installation : Client
      ProductType : WinNT
      ProductSuite : Terminal Server
      System Root : WINDOWS
      Directories : 87659
      Files : 452028
      Created : 2018.12.24 - 04:27:13
      Modified : 2018.12.24 - 04:27:15
      Languages :
              en-US (Default)

  The operation completed successfully.

答え3

Gparted は ntfsresize コマンドを使用します。Gparted でこれを行う方法は 2 つあります。

方法1

gparted のオプション。gparted はオプションを「チェック」と呼びます。

1つの方法は、Gpartedがファイルシステムがパーティションより小さいことを実際に認識し、そこに感嘆符を付けること。

ここに画像の説明を入力してください

そのパーティション (つまり、そのパーティションに対して gparted が表示する行) を右クリックして情報に移動すると、不一致があることと、それを修正するオプションがあることが示されます。

ここに画像の説明を入力してください

これを修正するには、パーティションを右クリックして「チェック」をクリックします。

また、gparted が提供するコマンドの情報に基づくと、実行されるコマンドは、かなり単純な ntfsresize コマンドであり、ntfssize に MB または MiB の数を指定する必要さえないという点で単純です。

ここに画像の説明を入力してください

方法2

この方法は sawdust が言ったことと似ています。

Gparted でパーティションのサイズを変更するたびに、ファイル システムのサイズも変更され、パーティション全体が満たされます。

gparted でパーティションのサイズをたとえ 1MB などごくわずかな量でも増やすと、gparted はファイル システムを拡張します。


注: gparted の「チェック」または gparted のサイズ変更の 2 つの方法に関係なく、パーティションに Windows が含まれている場合は、考慮すべき点があります。ハード ドライブ上にシステム予約パーティションが存在する必要があり、それが存在しない場合は、Windows 7/10 をまったくロードできないためです。また、それがアクティブ パーティションになります。

注 2 - 別の方法として、パーティションのサイズを変更するのではなく、fdisk を使用する方法があります。この方法では、パーティションを削除し、同じ開始点から異なるサイズでパーティションを再作成します。また、ファイル システムのサイズ変更には ntfsresize を使用します。MB と MiB のどちらを扱うかを考慮します。

Gparted には、「ブート」(パーティションをアクティブにする重要なオプション) と、「フラグ」と呼ばれるものの下に「非表示」のオプションがあります。

関連リンク- パーティションを埋めるために NTFS ボリュームのサイズを変更するにはどうすればよいでしょうか? 関連する方法に関する有益な情報がここにたくさんあります。

関連情報