2番目のファイルのサイズを上書きしながら2つのファイルを比較します。

2番目のファイルのサイズを上書きしながら2つのファイルを比較します。

次のコマンドを使用して作成したバックアップを確認します。

dd if=/dev/sda of=/dev/sdc2

/dev/sda/dev/sdc2(内蔵ハードドライブ)の内容を(USB経由で接続された外部バックアップドライブ)にバックアップしましたが、(/dev/sdc2バックアップするパーティション)が/ dev / sdaより少し大きかったです。/dev/sda

サイズ(バイト単位)が4096(ドライブのセクタサイズ)に分割されていないため、/dev/sdc2サイズを確認できません。/dev/sda/dev/sda/dev/sdc

diff(Unixコマンド)を介して(最初のxバイトのみを比較し、(xは)のサイズ)/dev/sdc2のサイズを仮定できるかどうか疑問に思います。/dev/sda/dev/sda/dev/sdc2

ddこれを確認したいのは、(then)を実行すると diff /dev/sda /dev/sdc2システムログにエラーが発生するためです。

diffを実行しましたが、/dev/sda /dev/sdc2デバイスが異なると言われています。おそらくデバイス/dev/sdc2/dev/sda

エラー(時々さまざまな量で繰り返す)は次のとおりです。

ata5.00: exception Emask 0x50 SAct 0x0 SErr 0x280900 action 0x6 frozen
ata5.00: irq_stat 0x08000000, interface fatal error
ata5: SError: { UnrecovData HostInt 10B8B BadCRC }
ata5.00: failed command: READ DMA
ata5.00: cmd c8/00:00:e0:57:f9/00:00:00:00:00/e9 tag 4 dma 131072 in
         res 50/00:00:df:57:f9/00:00:09:00:00/e9 Emask 0x50 (ATA bus error)
ata5.00: status: { DRDY }
ata5: softreset failed (device not ready)

私がこれを実行しているコンピュータは、Arch LinuxのISOバージョン(インストールプログラム)を実行しており、現在インターネットに接続されていません(後で接続する予定です)。他のLinuxディストリビューションを試すべきですか?

ベストアンサー1

おそらくcmpこの場合は十分でしょう:

SYNOPSIS
       cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]

DESCRIPTION
       Compare two files byte by byte. (...)

       -n, --bytes=LIMIT
              compare at most LIMIT bytes

計算可能なcmp -nパラメータとしてソースデバイスのサイズ(バイト単位)を渡す必要があります。blockdev --getsize64

cmp --bytes=$(blockdev --getsize64 /dev/sda) /dev/sda /dev/sdc2

diffただし、貼り付けたエラーメッセージは実際の読み取りエラーを示すように見えるため、データの操作方法に関する問題だけでなく、データに関する実際の問題にも直面する可能性があります。

おすすめ記事