パーティションをマウントできません。問題を解決するにはどうすればよいですか?

パーティションをマウントできません。問題を解決するにはどうすればよいですか?

ラズベリーファイ用のSDカードがあります。このSDカードをLinux PCにマウントしてファイルをインポートしたいのですが、できません。

SDカードをカードリーダーに挿入すると、dmesgに次のメッセージが表示されます。

  [  114.117896] usb 4-1: new full-speed USB device number 2 using ohci-pci
  [  114.292885] usb 4-1: New USB device found, idVendor=214b, idProduct=1101
  [  114.292897] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  [  114.292904] usb 4-1: Product: USB2.0 Device   
  [  114.292910] usb 4-1: Manufacturer: Generic 
  [  114.292914] usb 4-1: SerialNumber: 0201202010201000
  [  114.383603] usb-storage 4-1:1.0: USB Mass Storage device detected
  [  114.383803] scsi6 : usb-storage 4-1:1.0
  [  114.383956] usbcore: registered new interface driver usb-storage
  [  115.386965] scsi 6:0:0:0: Direct-Access     USB2.0   CARD-READER      1.01 PQ: 0 ANSI: 2
  [  115.388961] sd 6:0:0:0: Attached scsi generic sg2 type 0
  [  115.409892] sd 6:0:0:0: [sdc] Attached SCSI removable disk
  [  115.471798] sd 6:0:0:0: [sdc] 30679040 512-byte logical blocks: (15.7 GB/14.6 GiB)
  [  115.505782] sdc: detected capacity change from 0 to 15707668480
  [  115.534776]  sdc: sdc1 sdc2 < sdc5 sdc6 > sdc3

カードのパーティションテーブルは次のとおりです。

  # parted /dev/sdc
  GNU Parted 3.2
  Using /dev/sdc
  Welcome to GNU Parted! Type 'help' to view a list of commands.
  (parted) print                                                            
  Model: USB2.0 CARD-READER (scsi)
  Disk /dev/sdc: 15,7GB
  Sector size (logical/physical): 512B/512B
  Partition Table: msdos
  Disk Flags: 

  Number  Start   End     Size    Type      File system  Flags
   1      1049kB  1275MB  1274MB  primary   fat32        lba
   2      1278MB  15,7GB  14,4GB  extended
   5      1279MB  1342MB  62,9MB  logical   fat16        lba
   6      1343MB  15,7GB  14,3GB  logical
   3      15,7GB  15,7GB  33,6MB  primary

fdiskを使用してデバイスを確認すると、次のように表示されます。

  # fdisk /dev/sdc -l

  Disk /dev/sdc: 14.6 GiB, 15707668480 bytes, 30679040 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
  Disklabel type: dos
  Disk identifier: 0x000daf86

  Device     Boot    Start      End  Sectors  Size Id Type
  /dev/sdc1           2048  2490234  2488187  1.2G  e W95 FAT16 (LBA)
  /dev/sdc2        2496512 30609407 28112896 13.4G 85 Linux extended
  /dev/sdc3       30613504 30679039    65536   32M 83 Linux
  /dev/sdc5        2498560  2621439   122880   60M  c W95 FAT32 (LBA)
  /dev/sdc6        2623488 30607359 27983872 13.4G 83 Linux
  Partition table entries are not in disk order.

/dev/sdc6が最大のパーティションだと思うので、マウントしたいと思います。インストールしようとすると、次の結果が表示されます。

  # mount -v /dev/sdc6 test
  mount: wrong fs type, bad option, bad superblock on /dev/sdc6,
         missing codepage or helper program, or other error

         In some cases useful info is found in syslog - try
         dmesg | tail or so.

/dev/sdc6をマウントしようとすると、Dmesgは何も言いません。

このパーティションを確認すると文書コマンドは次のとおりです。

    # file -s /dev/sdc6
    /dev/sdc6: data

fsckを使用してファイルシステムを調べると、次の結果が表示されます。

  # LC_ALL=C fsck.ext3 -n /dev/sdc6
  e2fsck 1.43.4 (31-Jan-2017)
  ext2fs_open2: Bad magic number in super-block
  fsck.ext3: Superblock invalid, trying backup blocks...
  root was not cleanly unmounted, check forced.
  Pass 1: Checking inodes, blocks, and sizes
  Pass 2: Checking directory structure
  Pass 3: Checking directory connectivity
  Pass 4: Checking reference counts
  Pass 5: Checking group summary information
  Free blocks count wrong for group #0 (4245, counted=11608).
  Fix? no

  Free blocks count wrong for group #1 (1373, counted=707).
  Fix? no

  Free blocks count wrong for group #2 (1699, counted=1880).
  Fix? no

  (...)

  Inode bitmap differences:  -(57345--131072) -172034 -172037 -(172042--172043) -172045 -172047 -172049 -172053 -172057 -172059 -172062 -172065 (...)
  Fix? no

  root: ********** WARNING: Filesystem still has errors **********

  root: 91692/876544 files (0.8% non-contiguous), 1413337/3497984 blocks

私が理解したところ、Linuxは未知の理由でこのファイルシステムをマウントできません。理由を知りたいです。ファイルシステムが破損していますか、それとも別の理由がありますか?このファイルシステムをマウントするか、どういうわけかそのファイルを復元したいと思います。

この問題を解決するには、今何をすべきですか?

編集:助けてくれた皆さんに感謝します!最後に、fsckを使用してパーティションにLinux拡張ファイルシステムが含まれていますが、そのファイルシステムが破損してマウントできないことがわかりました。カードをバックアップし(「cat /dev/sdc | gzip> mybackup」を使用)、デバイスに不良ブロックが含まれていることを確認しました。不良ブロックが含まれていないため(SDカードのファイルシステムが破損したSDカードリーダーを使用して破損している可能性がありますか?)、fsckでファイルシステムを修復し、カードをRaspberry Piに挿入した後、起動せずに起動しました。問題。

答え1

公開された出力によると、fsck一部のデータが回復すると予想されます。

私は以下をお勧めします:

  1. ファイルシステムをddディスクファイルにコピーします(例fdsump.orig:)。失敗した場合は試してくださいddrescue。始める前に空き容量が十分であることを確認してください。
  2. このファイルを直接操作しないでcp fsdump.orig fsdumpください。いつでもこの手順に戻って再開できるように、新しいコピー(たとえば)を作成してください。
  3. データファイルからmount -o loopデバイスを作成するfsdump(例/dev/loop1:)
  4. エラーが発生しなくなるまで試してくださいfsck.ext3 /dev/loop1。回数が多いほど、より多くのダメージを受けることになります。
  5. /dev/loop1ディレクトリにマウントします。すべてのファイルを安全な場所にコピーしてください。 (cp -aまたはrsyncファイルのプロパティを保存するために使用してください)。これらのいずれかが破損または切断される可能性があります。
  6. これで循環ファイルシステムをマウント解除できます。

詳細については、上記のユーティリティのマニュアルページを参照してください。

答え2

あなたは使用することができますファイル1)file -s /dev/sdc6これは、ブロックデバイスからいくつかのバイトを読み取り、そこに何があるかを推測するためです。

何も認識されないと、問題が発生してデータを回復するための措置を講じる必要があるため、データが失われる可能性があります。先験的にどのファイルシステムがありますか?

一部のファイルシステムが認識されたら、以下を試すことができます。設置(8)はっきり-t type

パーティション表エントリがディスク順序ではありません。

匂いがあまり良くありません。ディスク全体を再パーティションする必要があるかもしれません(ただし、その前にデータをバックアップする必要があります)。 2つの重複パーティションがあるようです(sdc2およびsdc6

他のLinux PCで実行されているため、次のようにSDカードのデータをPC(一部のファイル)にコピーできます。仕事(1)

dd if=/dev/sdc6 of=$HOME/diskdata bs=4k

ちなみに、このコマンドの後にdmesgコピーがスムーズに行われていることを確認してください。

ddSDカード全体をコピーすることもできます。

$HOME/diskdataこれにより、Linux PCでそのファイルの混乱を解読するのに数時間(または数ヶ月)かかることがあります。使用できるデバッグ(8)そのために、元のファイルシステムをext3またはext4と見なすと

SDカードはすぐに磨耗する壊れやすいデバイスです。体が壊れたようです。確実なデータ損失に備えてください。

関連情報