お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2021-09-22 01:14:21

nahoko
メンバ
登録日: 2020-11-05

Read-only file system と言われて

デビアン11ブルズアイが、おかしい。>反応しないので、電源ユニットのスイッチを根っこからブチッと切った。
btrfs ファイルシステムは突然の電源切断でも何ともないと、どっかで聞いたことがあったから。
initramfs .... と出て起動できず。
こういう場合いつもやるのは、usbメモリのライブで起動して、

復元したい日付のディレクトリへ入り、たとえば

/media/user/98d2193c-b09e-4f8b-b78d-dc9ff9906263/timeshift-btrfs/
snapshots/2021-09-13_21-17-29

方程式
$ sudo btrfs sub snap @ /media/user/debian/@
に当てはめて
user@debian:/media/user/98d2193c-b09e-4f8b-b78d-dc9ff9906263/timeshift
-btrfs/snapshots/2021-09-13pshots/2021-09-13_21-17-29$ sudo btrfs sub
snap @ /media/user/98d2193c-b09e-4f8b-b78d-dc9ff9906263/@
sudo btrfs sub snap @ /media/user/98d2193c-b09e-4f8b-b78d-
dc9ff9906263/@
Create a snapshot of '@' in '/media/user/98d2193c-b09e-4f8b-b78d-
dc9ff9906263/@/@'
ERROR: cannot snapshot '@': Read-only file system

とにかくRead-only file system で、問題のハードドライブ内のディレクトリ?ファイル?はコピーもできない。

自分としては、シーゲイトの最新のツールで修復できないか?とやりましたが、guiツール自体が起動できず、コマンドラインのは使えたけど、修復の仕方わからなかったし、とにかく効果なかった。

つぎに、ddrescue でイメージを取り出して、再度同じハードドライブ(不良セクタが800個あるけど、使えます!とスマートが言うやつ)に復元?しようと。

以前のこのddrescueは使ったことがあるのだが、同じことができない。手順をまとめてなくて。
過去の記録を読み解くのがしんどくて どうしてもできない。
-------------------------------------------------
ここまで読んで、どなたかアドバイス下さい! サンキュー!!

オフライン

 

#2 2021-09-22 01:17:29

nahoko
メンバ
登録日: 2020-11-05

Re: Read-only file system と言われて

質問1
ddrescue を使う前に、コピー元のディスクが160ギガで、コピー先は新規のディスクでなくて、、

いま現在のハードドライブ320ギガに、パテ160ギガを新規作成して、そこにイメージを保存したいと思うのですが、

それでよろしいですか?

オフライン

 

#3 2021-09-23 21:45:12

nahoko
メンバ
登録日: 2020-11-05

Re: Read-only file system と言われて

-------------------------------------------------------------------
今回は サルベージしたいドライブ/dev/sda のイメージファイルをDisk /dev/sdb: 320GBのsdb2のパテへ吐き出したい。コマンドがわかりません。
--------------------------------------------------------------------
debain11が起動できなくなりました。debian live usbで起動して、復元したい日付のディレクトリへ入り、たとえば
$ sudo btrfs sub snap @home /media/user/debian/@home
という感じで直そうと思った。

Can’t read superblock
スーパーブロックを読み取れません
と出てマウントできない。検索すると
https://www.linuxbabe.com/desktop-linux ... lock-error
 Recover superblock on btrfs filesystem
  Then you need to run the following command to clear the filesystem log tree.

user@debian:~$ sudo btrfs rescue zero-log /dev/sda2
Clearing log on /dev/sda2, previous log_root 94535680, level 0
user@debian:~$

これでマウントできた。しかしERROR: cannot snapshot '@': Read-only file system

debain11のハードドライブ内のディレクトリ?ファイル?はコピーもできない。
-------------------------------------------------
ハードドライブの障害と考え ddrescue を使おうと考えました。2台のHDD を接続してdebian live usbで起動
Disk /dev/sda: 160GB
Disk /dev/sdb: 320GB

user@debian:~$ sudo apt update
user@debian:~$ sudo apt install gddrescue
user@debian:~$ sudo parted -l
Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Number Start End Size Type File system Flags
1 1049kB 135MB 134MB primary fat32 lba
2 135MB 160GB 160GB primary btrfs

drescue [オプション] [読込元] [書き出し先] [ログ出力先]

>$ ddrescue -f -d -r1 -v /dev/sda /dev/sdb logfile.log

オプション 概要
-f 上書き※ターゲットが物理ディスクでは必須
-n リードエラーを無視
-v 詳細表示
-r 不良セクタの再読み込み回数
-d ダイレクトアクセス(キャッシュを介さずにアクセス)

user@debian:~$ sudo parted -l
Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Number Start End Size Type File system Flags
1 1049kB 135MB 134MB primary fat32 lba
2 135MB 160GB 160GB primary btrfs

Model: ATA HGST HTS545032A7 (scsi)
Disk /dev/sdb: 320GB
Number Start End Size File system Name Flags
1 1049kB 200MB 199MB fat32 EFI boot, hidden, esp
2 200MB 318GB 318GB btrfs debian
3 318GB 320GB 2147MB linux-swap(v1) SWAP swap

破損したほうソース
Disk /dev/sda: 160GB
ターゲット
Disk /dev/sdb: 320GB

user@debian:~$ ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 9 Sep 23 13:27 ata-ST3160815AS_6RX65VV6 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-ST3160815AS_6RX65VV6-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 23 13:30 ata-ST3160815AS_6RX65VV6-part2 -> ../../sda2

参考ページの例
$ ddrescue -f -d -r1 -v /dev/sda /dev/sdb logfile.log
自分に当てはめると
$ ddrescue -f -r3 -v /dev/sda /dev/sdb logfile.log

$ sudo ddrescue -f -r3 -v ata-ST3160815AS_6RX65VV6 ata-HGST_HTS545032A7E680_RB240EMP06TZHH logfile.log

by-id はヒューマンエラー防止のためですね。頭がボケてるとき、
ハードディスクの製品型番で気づくために?

> /dev/disk/by-id/ドライブの型番

$ sudo ddrescue -f -r3 -v /dev/disk/by-id/ata-ST3160815AS_6RX65VV6 /dev/disk/by-id/ata-HGST_HTS545032A7E680_RB240EMP06TZHH logfile.log

-------------------------------------------------------------------
今回は サルベージしたいドライブ/dev/sda のイメージファイルをDisk /dev/sdb: 320GBのsdb2のパテへ吐き出したい。コマンドがわかりません。
--------------------------------------------------------------------

オフライン

 

Board footer

Powered by FluxBB