`dd`、isoイメージ、Linuxデバイスに関する一般的な質問

`dd`、isoイメージ、Linuxデバイスに関する一般的な質問

ISOイメージ(Windowsインストールディスク)がありますが、DVDを焼きたくありません。起動可能なUSBフラッシュドライブを作成したいです。これを行うためにLinuxツールを使用したいと思います。

いくつかのレシピを見つけて、次ddのツールを使用することを提案しました。

dd if=/path/to/my.iso of=/dev/sdx

(ここにいるhttps://www.linux.com/blog/how-burn-iso-usb-drive)

別の方法では、まずUSBにいくつかのパーティションを作成することを提案します(feターミナル:isoで起動可能なUSBを作成する)私が見るにはこれが奇妙に見えますね。

私が知る限り、フラッシュドライブは単にストレージデバイスです。これは、与えられたインデックスに基づいてデータブロックを保存/返すハードウェアです。そうなんですか?

Linuxはデバイスを介してこのリポジトリへのアクセスを提供します/dev/sdxxどんな文字でも可能で、私の場合はデバイス名はです/dev/sdb)。このデバイスを使用すると、USBスティックのすべてのデータにアクセスできます。そうですか?

このddコマンドは単にファイルの内容をビット単位(つまりブロック単位)で読み取り、指定されたデバイスにデータを書き込みます。入力ファイルが十分に大きい場合は、USBドライブのすべてのデータが上書きされます。パーティション、ファイルシステムの種類などに関する情報は保持されません。そうですか?それでは、ddコマンドの前にUSBドライブを分割/フォーマットする目的は何ですか?

コマンドの結果がdd予想したものとは異なります。完了すると、LinuxコンピュータでUSBドライブのファイルを見ることができますが、USBドライブが起動せず、Windowsでまったく読み取れません(USBドライブをフォーマットすることをお勧めします)。

起動可能なUSBスティック(rufusやyumiなど)を作成するためにいくつかのツールを使用する予定ですが、今は問題ではありません。問題は、なぜddこの目的に使用できないのか理解できないことです。

上記の方法がすべてのISOイメージで機能するわけではありませんか?何が起こっているのか理解するのに役立ちます。

答え1

複製と抽出

ISOイメージ(Windowsインストールディスク)がありますが、DVDを焼きたくありません。起動可能なUSBフラッシュドライブを作成したいです。これを行うためにLinuxツールを使用したいと思います。

いくつかのレシピを見つけて、次ddのツールを使用することを提案しました。

dd if=/path/to/my.iso of=/dev/sdx

これは複製です(dd他の複製ツールを使用して行われます)。

(ここにいるhttps://www.linux.com/blog/how-burn-iso-usb-drive)

別の方法では、まずUSBにいくつかのパーティションを作成することを提案します(fe ターミナル:isoで起動可能なUSBを作成する)私が見るにはこれが奇妙に見えますね。

これは抽出ツールを介して行われます。

複製と抽出は、実行可能で一般的に使用される方法です。どちらの方法にもさまざまなツールがあります。

isoファイルが混合isoファイルの場合は、CD / DVDディスクに焼いてブートドライブを作成できます。そしてUSBフラッシュドライブ、メモリーカード、HDD、SSDなどの大容量記憶装置に複製します。 isoファイルがあればいいえisoファイルを混在させると、CD / DVDディスクに焼いてブートドライブを作成できますが、大容量記憶装置では機能しません。ただし、抽出ツールを使用してブートデバイスを作成できます(正しいパーティションテーブルを作成し、isoファイルから関連コンテンツを大容量ストレージデバイスに抽出することによって)。

私が知る限り、フラッシュドライブは単にストレージデバイスです。これは、与えられたインデックスに基づいてデータブロックを保存/返すハードウェアです。そうなんですか?

はい。

Linuxはデバイスを介してこのリポジトリへのアクセスを提供します/dev/sdxx どんな文字でも可能で、私の場合はデバイス名はです/dev/sdb)。このデバイスを使用すると、USBスティックのすべてのデータにアクセスできます。そうですか?

はい。

このddコマンドは単にファイルの内容をビット単位(つまりブロック単位)で読み取り、指定されたデバイスにデータを書き込みます。入力ファイルが十分に大きい場合は、USBドライブのすべてのデータが上書きされます。パーティション、ファイルシステムの種類などに関する情報は保持されません。そうですか?それでは、ddコマンドの前にUSBドライブを分割/フォーマットする目的は何ですか?

はい、したがって複製する前にUSBドライブを分割/フォーマットする必要はありません。とにかく、すべての痕跡は消えます。

コマンドの結果がdd予想したものとは異なります。完了すると、LinuxコンピュータでUSBドライブのファイルを見ることができますが、USBドライブが起動せず、Windowsでまったく読み取れません(USBドライブをフォーマットすることをお勧めします)。

ほとんどの主要なLinuxディストリビューションは、複製時にUSBブートドライブを作成するハイブリッドisoファイルを提供します。しかし、すべてではありません。たとえば、Knoppixではありません(ただし、Knoppixを使用してisoファイルを処理できますisohybrid)。

Windows 7-10 isoファイルはハイブリッドisoファイルではありません。したがって、USBブートドライブを作成するには、抽出方法(手動またはツールを使用)が必要です。

起動可能なUSBスティック(rufusやyumiなど)を作成するためにいくつかのツールを使用する予定ですが、今は問題ではありません。問題は、なぜddこの目的に使用できないのか理解できないことです。

上記の方法がすべてのISOイメージで機能するわけではありませんか?何が起こっているのか理解するのに役立ちます。

リンク

help.ubuntu.com/community/Installation/iso2usb

  • ドライブ - 大容量記憶装置
  • 複製と抽出
  • 自分でやろう(これは何が起こっているのか理解するのに役立ちます)

複製の準備は必要ありません。

  • dd は「ディスク破壊者」、「データ破壊者」と呼ばれます。
  • 最終チェックポイント付きツール
  • 複製が機能しない場合

答え2

使用方法はファイルの生成方法ddによって異なります。.iso

ddコマンドは、単にファイルの内容をビット単位(つまりブロック単位)で読み取り、指定されたデバイスにデータを書き込みます。入力ファイルが十分に大きい場合は、USBドライブのすべてのデータが上書きされます。

これは正しいです。しかし、dd if=/dev/sdb1 of=test.iso作成時に実行するとどうなりますか.iso?それともdd if=/dev/sdb of=test.iso bs=1M seek=1最初のデータをスキップするのと同じことが実行されていますか1M

dd基本的なパーティショニングスキームは気にしません。つまり、使用方法は完全にブロックデバイスの構造と作成中のデータによって異なります。

答え3

このデバイスに接続すると、dddd'ingがMBR / GPTを上書きするため、USB空き容量が失われます。

デバイスを分割すると、イメージをパーティションに書き込むことができるため、空き領域が保存されます。ただし、そのパーティションから起動するには、ブートマネージャ(grub?)を調整する必要があります。ドライブを分割すると、sdx1、sdx2...が発生し、目的のdd if=your.iso of=/dev/sdx1パーティションを許可します。

ここでの問題は、Windowsインストールディスクを使用してこれを行うことです。これは問題になる可能性があることです。 WindowsのインストールにDVDデバイスが必要な場合は、DVDデバイスが起動しない、画像を調整する必要がある、またはこの確認を避ける必要があります。 Linuxでは、多くのディストリビューションがISOセルフブートを許可するため、作業が簡単になります。他のディストリビューションには、ブータブルディストリビューションがたくさんあるUSBを持つために少しトリックが必要になる場合があります。

関連情報