Hatena::ブログ(Diary)

kinneko@転職先募集中の日記

検索エンジンから来た方へ: 申し訳ないですが、日記なので日々積み重なっています。
目的の情報にたどり着くには、右の検索窓から日記内を再検索してください。
北陸エリア内(もしくはエリア外でも)で転職先を探しています。
(マジです。ネタではありません。ホントですって...)
詳細履歴書をご希望の方はメールでご連絡下さいませ。(kinneko at gmail.com)
chromeで見ると、死ぬほど出るGoogleの広告がブロックできないので、
firefoxでABPを入れるとすっきり見られます。

2017-02-10

Android端末をバックアップ・リストアする(2)

http://d.hatena.ne.jp/kinneko/20170209/p1

続き。


N5: 端末データのフルバックアップ

N5のほうのデータとアプリをまるごとバックアップしておく。

システムアプリを含んだバックアップと、含まないバックアップがあるので、容量差を見てみた。

$ adb backup -apk -shared -all

$ ls -lh backup.ab

-rw-r----- 1 kinneko staff 1.2G 2 9 11:36 backup.ab

$ mv backup.ab backup.ab.in_system

$ adb backup -nosystem -apk -shared -all

Now unlock your device and confirm the backup operation...

$ ls -lh backup.ab

-rw-r----- 1 kinneko staff 907M 2 9 11:43 backup.ab

$ mv backup.ab backup.ab.ex_system

$ ls -lh backup.ab.*

-rw-r----- 1 kinneko staff 907M 2 9 11:43 backup.ab.ex_system

-rw-r----- 1 kinneko staff 1.2G 2 9 11:36 backup.ab.in_system


N5: 写真とダウンロードデータのバックアップ

FileTranspherを使ってバックアップしておく。


N5->N5X: 端末データの移行

N5Xで"使ってみる"ボタンを押す。

SIMカードの挿入画面が出てきたけど、今はないので"スキップ"。

N5Xへようこそ画面になる。データのコピーを選ぶ。

ネットワーク接続をはじめるので、"セットアップ時にネットワークを使用しない"を選ぶ。ダイアログが出るが"続行"する。

ここで、アカウント設定の同期したものを使うか、BTとWiFIを使って端末間のデータ移行はできるのだけど、アプリの設定は引き継がれないのでパス。パスワードを忘れてしまったサービスなど調べるのもめんどくさいので一括移行がいい。

日付と時刻を設定する。

名前はそのまま"次へ"を押す。

指紋によるロック解除も使わないので"スキップ"する。警告が出るので再度"スキップ"。

Googleサービスが出るので、これは各自判断でオンオフを選んで先へ。

その他の設定項目で、メールアカウントなどの設定が出るが、これも飛ばして"設定を完了"を押す。

最終調整を行っていますと出て、ホーム画面になる。"ようこそ"と表示されている。

設定を開き、端末情報のビルド番号を数回タップして、開発者モードをオンにする。

1つ戻って、開発者オプションからUSBデバッグをオンにする。PC側に接続していると、そのまま許可ダイアログが出るので許可する。

adb devicesコマンドで端末が表示されるのを確認する。

$ adb restore backup.ab.ex_system

Now unlock your device and confirm the restore operation.

端末側で、完全な復元画面になって、パスワードを求められるけど、パスワードは設定していないので、そのまま"データを復元する"ボタンを押す。

しばらく待つ。

端末側に"復元が終了しました"というトーストが出て終わり。

しかし、アプリは何も出てきていない。デフォルトの33アプリのみ。

再起動する。

引き継げてない... orz


もともとN5Xに入っててバックアップしたアプリをリストアしてみる

$ adb restore com.kinneko.jago360.ab

Now unlock your device and confirm the restore operation.

リストアされてない...

特にエラーも出てないのだよね。


しょうがないのでアカウント移行手順に従う

念のため、N5のほうでバックアップとリセットで、データのバックアップをオンにしておく。

N5でWiFiとBluetoothをオンにする。

N5Xは再度初期化。WiFi設定を行うと、アップデートを確認中のあと、データの引き継ぎ画面になる。

"Androidスマートフォンからのバックアップ"を選ぶ。

設定から付近の端末を選べと表示が出るが、N5のほうにはそういう設定はない。

N5のポップアップで"新しいAndroid端末のセッ..."というのが出ているので選ぶ。

スタートガイドの画面が出る。次へを押す。

端末のリストが出る。N5Xの表示と同じものを選ぶ。端末に接続していますの後、コードの確認で6桁のアルファベットが出る。

N5X側で同じコードが表示されていたら、N5側で次へを押す。

他の端末へコピー画面が出る。コピーボタンを押す。なんか一瞬でコピー出た。不安。たぶん、アカウントしか投げてなくて、あとはクラウドバックアップでやる気のようだ。

N5X側ではパスワード入力画面が出ている。Googleアカウントのパスワードを入れる。

パスワードが違うと出る...

長期で変更されていないパスワードは、変更しないと認証されないようだ。警告もなにも出ないとは...

別端末からパスワードを変更して、認証は通った。

アプリのダウンロードがされている。

ホーム画面の構成は維持されているようだ。


移行できなかったもの

chromeのブックマークのバックアップないな。

この手順では、有料アプリはリストアされないようなのだけど、これは使ってないので問題ない。

adb経由で直接入れたアプリは移行されない。めんどくさいことだ。

GooglePlay開発者サービスは、同意なしには更新されなかった。

twitterアプリもアプリ認証が必要だった。

Slackアプリも認証が必要だった。

ホームアイコンの電卓アプリが引き継がれなかった。

音量の定位置は引き継がれなかった。

Ingressのアカウントは、GooglePlay Engineからのアカウント引き継ぎを受けたようだけど、COMMの距離が200kになってた。

ポケモンGOは、生年月日からはじまったので、めんどくさいからそのままアプリ削除した。

Slackもログインからになっている。

モナコインアプリ消えた。当たり前か。コインの情報も引き継げない。

ハングアウトの履歴も引き継げていない。

血圧記録アプリのデータも引き継げていない。

Bluetooth系アプリの接続情報も引き継げていない。

テザリングの設定も引き継いてない。


端末移行は、なんでこんなに面倒な仕様なんだろう。

Googleもっとちゃんと考えてほしい。

アプリデータとかクラウドへのバックアップ使っても、ほとんど同期できないで新規設定だし、引き継げないデータ多すぎだし。

ローカルで入れたアプリは移行できずに再インストールになるし。

ひどい。

Google的には、設定はfirebaseに入れておけや!ってことかもだけど。

2017-02-09

Android端末をバックアップ・リストアする(1)

N5落として液晶割ったので、N5Xに引っ越しする。

予備のN5Xは、娘にあげてしまったので、VRデモ端末なくなるのがつらい。

1.5kくらいで、N5の中古が買える相場らしいけど、Daydream時代にそれもね。

Daydream対応アップデートを行ったばかりの、ZTE Axon7も5万円強で買えるみたいだけど、850をイマサラという気もする。

とりあえずの移行先はN5Xとして、現在使っている状態をバックアップしておく。


N5X: 写真やダウンロードしたデータを保存する

アプリと設定は、adb backupでバックアップできるのだけど、これには写真データとかダウンロードデータは含まれない。

まず、これらをバックアップする。

USB接続して、端末をファイル転送モードに。Android File Transferアプリから、Macにデータを退避する。

デモ機なので、あんまりデータは入っていない。


N5X: ローカルアプリをバックアップする

さて、移行先のN5Xはデモで使っているので、こちらにもアプリが入っている。

容量のデカいものもあるので、共存はできない感じか。

しかし、自前ビルドで、ビルド環境失われたデモアプリとかも入っているので、これらはバックアップしておきたい。

$ adb shell pm list package | sort

package:android

package:android.autoinstalls.config.google.nexus

package:com.DemoScenes

package:com.HeadsetDemo

package:com.android.backupconfirm

package:com.android.bluetooth

package:com.android.bluetoothmidiservice

package:com.android.bookmarkprovider

package:com.android.calllogbackup

package:com.android.captiveportallogin

package:com.android.carrierconfig

package:com.android.cellbroadcastreceiver

package:com.android.certinstaller

package:com.android.chrome

package:com.android.connectivity.metrics

package:com.android.cts.ctsshim

package:com.android.cts.priv.ctsshim

package:com.android.defcontainer

package:com.android.documentsui

package:com.android.dreams.basic

package:com.android.egg

package:com.android.emergency

package:com.android.externalstorage

package:com.android.facelock

package:com.android.hotwordenrollment

package:com.android.htmlviewer

package:com.android.inputdevices

package:com.android.keychain

package:com.android.location.fused

package:com.android.managedprovisioning

package:com.android.mms.service

package:com.android.mtp

package:com.android.musicfx

package:com.android.nfc

package:com.android.omadm.service

package:com.android.pacprocessor

package:com.android.phone

package:com.android.printspooler

package:com.android.providers.blockednumber

package:com.android.providers.calendar

package:com.android.providers.contacts

package:com.android.providers.downloads

package:com.android.providers.downloads.ui

package:com.android.providers.media

package:com.android.providers.partnerbookmarks

package:com.android.providers.settings

package:com.android.providers.telephony

package:com.android.providers.userdictionary

package:com.android.proxyhandler

package:com.android.retaildemo

package:com.android.sdm.plugins.connmo

package:com.android.sdm.plugins.dcmo

package:com.android.sdm.plugins.diagmon

package:com.android.sdm.plugins.sprintdm

package:com.android.server.telecom

package:com.android.settings

package:com.android.sharedstoragebackup

package:com.android.shell

package:com.android.statementservice

package:com.android.stk

package:com.android.systemui

package:com.android.vending

package:com.android.vpndialogs

package:com.android.wallpaper.livepicker

package:com.android.wallpaperbackup

package:com.android.wallpapercropper

package:com.divegames.divecitycoaster

package:com.divegames.divedeep

package:com.divegames.launcher

package:com.futuremark.dmandroid.application

package:com.google.PlayGround

package:com.google.android.GoogleCamera

package:com.google.android.apps.books

package:com.google.android.apps.cloudprint

package:com.google.android.apps.docs

package:com.google.android.apps.docs.editors.docs

package:com.google.android.apps.docs.editors.sheets

package:com.google.android.apps.docs.editors.slides

package:com.google.android.apps.enterprise.dmagent

package:com.google.android.apps.gcs

package:com.google.android.apps.genie.geniewidget

package:com.google.android.apps.helprtc

package:com.google.android.apps.inputmethod.hindi

package:com.google.android.apps.maps

package:com.google.android.apps.messaging

package:com.google.android.apps.photos

package:com.google.android.apps.plus

package:com.google.android.apps.tycho

package:com.google.android.apps.walletnfcrel

package:com.google.android.backuptransport

package:com.google.android.calculator

package:com.google.android.calendar

package:com.google.android.carrierentitlement

package:com.google.android.configupdater

package:com.google.android.contacts

package:com.google.android.deskclock

package:com.google.android.dialer

package:com.google.android.ext.services

package:com.google.android.ext.shared

package:com.google.android.feedback

package:com.google.android.gm

package:com.google.android.gm.exchange

package:com.google.android.gms

package:com.google.android.gms.setup

package:com.google.android.googlequicksearchbox

package:com.google.android.gsf

package:com.google.android.gsf.login

package:com.google.android.ims

package:com.google.android.inputmethod.japanese

package:com.google.android.inputmethod.korean

package:com.google.android.inputmethod.latin

package:com.google.android.inputmethod.pinyin

package:com.google.android.keep

package:com.google.android.launcher

package:com.google.android.launcher.layouts.bullhead

package:com.google.android.marvin.talkback

package:com.google.android.music

package:com.google.android.onetimeinitializer

package:com.google.android.packageinstaller

package:com.google.android.partnersetup

package:com.google.android.play.games

package:com.google.android.printservice.recommendation

package:com.google.android.setupwizard

package:com.google.android.storagemanager

package:com.google.android.street

package:com.google.android.syncadapters.contacts

package:com.google.android.tag

package:com.google.android.talk

package:com.google.android.tts

package:com.google.android.videos

package:com.google.android.webview

package:com.google.android.youtube

package:com.google.audiospaces

package:com.google.castledefense

package:com.google.cdl

package:com.google.samples.apps.cardboarddemo

package:com.google.vr.cyclops

package:com.google.vr.inputcompanion

package:com.google.vr.ndk.samples.controllerpaint

package:com.google.vr.ndk.samples.treasurehunt

package:com.kinneko.jago360

package:com.kinneko.jago360dive

package:com.lge.HiddenMenu

package:com.lge.entitlement

package:com.lge.lifetimer

package:com.mypaceengine.mmdtest

package:com.qti.qualcomm.datastatusnotification

package:com.qualcomm.atfwd

package:com.qualcomm.qcrilmsgtunnel

package:com.qualcomm.qti.rcsbootstraputil

package:com.qualcomm.qti.rcsimsbootstraputil

package:com.qualcomm.timeservice

package:com.quicinc.cne.CNEService

package:com.unity3d.vrstandardassetscb

package:com.verizon.omadm

package:jp.bluetone.hardwarechecker

package:org.codeaurora.ims

なんか、157アプリも入っているんだね。

多すぎてよくわかんないな。

logcatで表示しながらアプリ起動するか、intentでコマンドでアプリ起動するとわかるか。

logcat死ぬほど出るので、オススメできない。

02-09 14:48:00.430 879 3671 I ActivityManager: Start proc 13125:com.google.PlayGround/u0a103 for activity com.google.PlayGround/com.google.unity.GoogleUnityActivity

設定->アプリからは65アプリがインストールされているのがわかる。

pm list packageで出てくる大半は、システムアプリ。表示しなくていいのに。

バックアップが必要なのは、このくらいしかなかった。前にvuforia試した時のアプリはいなくなっていた。

  • package:com.google.PlayGround
  • package:com.kinneko.jago360
  • package:com.kinneko.jago360dive

PlayGroundは、ソースを改変してDaydream機でなくてもリモコン動くようにしたやつ。

あとの2つは自前アプリ。

$ adb backup -f com.google.PlayGround -apk com.google.PlayGround

Now unlock your device and confirm the backup operation...

端末側に表示が出た。

端末が暗号化されているので、バックアップも暗号化がいるそうな。パスワードを入れろという。

端末を暗号化した記憶はないんだけどな。どうも、デフォルトで暗号化されているようだ。

$ ls -l com.google.PlayGround

-rw-r----- 1 kinneko staff 0 2 9 15:01 com.google.PlayGround

どゆこと?

パスワードの間違いとかも表示されない。

adb backupでは一括しかできないの?

オプション間違いか。

$ adb backup -apk com.google.PlayGround -shared -f com.google.PlayGround.ab

Now unlock your device and confirm the backup operation...

端末側でパスワードを入れ、「データをバックアップ」を押してしばらく待つとバックアップできたようだ。

$ ls -lh com.google.PlayGround.ab

-rw-r----- 1 kinneko staff 142M 2 9 15:09 com.google.PlayGround.ab

アプリ毎にこれを繰り返すのは超めんどくさい。


N5X: 端末のリセット

Felica対応端末ではないので、おサイフケータイは使っていないから、これは問題なし。

指紋認証も設定していないので、これも問題なし。

設定->セキュリティ->スマートフォンの暗号化に設定があるのだけど、暗号化されていて解除できないようだ。

設定->バックアップとリセット->自動復元をオフに。

設定->バックアップとリセット->データーのバックアップをオフに。

設定->バックアップとリセット->データの初期化を実行する。"モバイル端末をリセット"を押し、再確認の"すべて消去"も押す。

消去後、自動的に再起動してくる。

Welcome画面が出れば成功。

2017-02-07

東芝のTVについないだHDDが認識しなくなったと持ち込まれる(4)

http://d.hatena.ne.jp/kinneko/20170126/p1

http://d.hatena.ne.jp/kinneko/20170127/p1

http://d.hatena.ne.jp/kinneko/20170202/p1

の続き。


再生はできたそうだ。

ただし、102番組。

ファイル数からいくと、元は160番組くらいあった感じ。

XFSの修復ログからdtvファイルで壊れていると判断された数とは帳尻は合う。


うち、いくつかの番組は、番組名ではなく、なんだかわからない名前が表示されたそう。

これは、metaファイルが壊れているのだろう。


おそらく、壊れていると判断されたファイルも、まだかなりサルベージはできる感じではあるのだけど、そろそろメンドクサイのでお開きで。

2017-02-02

東芝のTVについないだHDDが認識しなくなったと持ち込まれる(3)

http://d.hatena.ne.jp/kinneko/20170126/p1

http://d.hatena.ne.jp/kinneko/20170127/p1

の続き。


残念な結果だったそうだ。

・ドライブは既存のものとして認識(フォーマットするかは聞かれない)

・ファイル一覧は正常に表示

・再生するとエラーになる(「再生できません」的な表示)

・そのまま新規に録画したものは再生できる

登録ドライブの認識をGUIDで行っているというのは正しいようだ。

録画データには保存セクタ情報が埋まっているということだろうか。

.dtv.metaは番組情報が入っているとして、.dtv.ratがそれだろうか?

もしくは、ただコピったのでxattrがちゃんと引き継げなかったか。

--wsr-sr-t. 1 root root 3555889664 Jan 18 23:00 M000020170118225951e8e0b7a3c118.dtv

-rw-r--r--. 1 root root 1768 Jan 18 23:00 M000020170118225951e8e0b7a3c118.dtv.meta

-rw-r--r--. 1 root root 37146 Jan 18 23:30 M000020170118225951e8e0b7a3c118.dtv.rat

なんか変なの付いているわ。


ちゃんとダンプ&リストアしないとダメかな。

ツールが入っていないので入れる。

# yum install xfsdump

pはリポート出力の秒間指定。

Jはダンプのときに、dump inventory databaseを更新しないように指定。

インクリメンタルバックアップなどのために、/var/lib/xfsdump/inventoryを使うのを抑制。

ハイフン入れるのは独特だな。

# xfsdump -J - /dev/sdb1 | xfsrestore -J -p 60 - /dev/sdc1

xfsrestore: using file dump (drive_simple) strategy

xfsrestore: version 3.1.4 (dump format 3.0)

xfsrestore: ERROR: specified destination /dev/sdc1 is not a directory

using file dump (drive_simple) strategy

xfsrestore: Restore Status: ERROR

xfsdump: version 3.1.4 (dump format 3.0)

xfsdump: ERROR: /dev/sdb1 does not identify a file system

xfsdump: Dump Status: ERROR

マウントしてないとできないっぽい?

# mount -t xfs /dev/sdb1 /media/ -o ro,norecovery

# mount /dev/sdc1 /mnt/

# xfsdump -J - /media/ | xfsrestore -J -p 60 - /mnt/

xfsrestore: using file dump (drive_simple) strategy

xfsdump: using file dump (drive_simple) strategy

xfsdump: version 3.1.4 (dump format 3.0)

xfsrestore: version 3.1.4 (dump format 3.0)

xfsrestore: searching media for dump

xfsdump: ERROR: /media/ does not identify a file system

xfsdump: Dump Status: ERROR

xfsrestore: restore complete: 0 seconds elapsed

xfsrestore: Restore Status: SUCCESS

これはダメだわ。

# umount /media/

# umount /mnt/


同じ容量のドライブを用意して、上書きしてみる。

# dd if=/dev/sdb of=/dev/sdc skip=40 seek=40 bs=1G

ダメだ。

フルダンプすると、途中で読めないブロックが結構ある。

容量でかくなると、こういうのは避けられない。


不良無視オプションを指定して、ブロックサイズも小さくして時間をかける。

noerrorはエラーがあっても継続、syncはエラーの分を0パディング(ズレ防止)。

# dd if=/dev/sdb of=/dev/sdc skip=40 seek=40 bs=512 conv=noerror,sync

[36367.244596] blk_update_request: critical medium error, dev sdb, sector 47763704

[36367.245514] Buffer I/O error on dev sdb, logical block 5970463, async page read

dd: error reading '/dev/sdb': Input/output error

というようなエラーがぞろぞろ出る。

40からのスタートは失敗だったかな?


二日経過後。

結果こんな感じで壊れている。

# journalctl -k | grep blk_update_request | awk '{print $13}' | sort | uniq

32

40

41

42

47763704

976865032

976865216

976865224

976865232

976865240

976865248

976865256

976865264

976865272

976865280

976865288

976865296

976865304

976865312

976865320

976865328

976865336

976865344

976865352

976865360

976865368

976865376

976865384

976865392

976865400

976865408

976865416

976865424

976865432

976865440

976865448

976865456

976865464

976865472

976865480

976865488

976865496

976865504

976865512

976865520

976865528

976865536

976865544

976865552

976865560

976865568

976865576

976865584

976865592

976865600

976865608

976865616

976865624

976865632

976865640

976865648

976865656

976865664

976865672

976865680

976865688

976865696

976865704

976865712

976865720

976865728

976868464

976868472

976868480

976868488

976868496

976868504

976868512

976868520

976868528

976868536

976868544

976868552

976868560

976868568

976868576

976868584

976868592

976868624

976868640

976868664

976868672

976868680

976868688

976868696

976868704

976868712

976868720

976868728

976868736

976868744

976868752

976868760

976868768

976868776

976868784

976868792

976868800

976868808

976868816

976868824

976868832

976868840

976868848

976868856

976868864

976868872

976868880

976868888

976868896

976868904

976868912

976868920

976868928

976868936

976868944

976868952

976868960

976869000

976869016

976869024

976869032

976869040

976869048

976869056

976869064

976869072

976869080

976869088

976869096

976869120

976869136

976869144

976869152

976869160

976869168

976869176

976869184

976869192

976869200

976869208

976869224

976869232

976869240

976869248

976869256

976869264

976869272

976869280

976869288

976869296

976869304

976869312

976869320

976869328

976869336

976869344

976869352

976869360

976869368

976869376

976869392

976869400

976869416

976869424

976869432

976869440

976869448

976869456

976869464

976869472

976869480

976869488

976869496

976869504

976869512

976869520

976869528

976869536

976869552

976869560

976869568

976869576

976869584

976869600

976869608

976869616

976869624

976869632

976869640

976869648

976869656

976869664

976869672

976869680

976869688

976869696

976869704

976869712

976869728

976869744

976869760

976869776

976869792

976869800

976869808

976869816

976869856

976869872

976869896

976869912

976869944

976869952

976869976

976869984

976869992

976870008

976870056

976870072

976870080

976870088

976870104

976870136

976870144

976870152

976870160

976870176

976870184

976870192

976870200

976870216

976870232

976870248

976870256

976870272

なんかえらく偏っているな。よくあることだけど。


前回と同様に、GUIDをそろえておく。

そのままマウントできるか試す。

# mount /dev/sdc1 /media/

mount: /dev/sdc1 is write-protected, mounting read-only

mount: unknown filesystem type '(null)'

これは想定内。

修復する。

# xfs_repair /dev/sdc1

Phase 1 - find and verify superblock...

bad primary superblock - bad magic number !!!

attempting to find secondary superblock...

................................................

(snip)

.................................found candidate secondary superblock...

verified secondary superblock...

writing modified primary superblock

xfs_repair: V1 inodes unsupported. Please try an older xfsprogs.

あらら。

録画機で使っているXFSが太古なものらしい。

古いXFSは、修復にえらくメモリ食うし、真面目にパッチ追ってアップデートしないと不具合多いし、組み込み向きじゃないだけど、東芝は採用しているようだ。

壊れやすいのも、こういう原因じゃないのかね。

今のバージョンを調べる。

# xfs_repair -V

xfs_repair version 4.5.0

ググると、3.xで変わっているようだ。

2.xならサポートしているのかな?

感覚的には、CentOS5くらいかな。

CentOS6: xfsprogs-3.1.1-19.el6.i686.rpm

CentOS5では、標準パッケージにないな。plusのほうにあった。

xfsprogs-2.9.4-1.el5.centos.x86_64.rpm

そのまま動く気がしないけど、とりあえずrpmほどくレベルで試す。

# wget http://ftp.riken.jp/Linux/centos/5/centosplus/x86_64/RPMS/xfsprogs-2.9.4-1.el5.centos.x86_64.rpm

# mkdir temp

# cd temp/

# rpm2cpio ../xfsprogs-2.9.4-1.el5.centos.x86_64.rpm | cpio -idv

./lib64/libhandle.so.1

./lib64/libhandle.so.1.0.3

./sbin/fsck.xfs

./sbin/mkfs.xfs

./sbin/xfs_repair

./usr/sbin/xfs_admin

./usr/sbin/xfs_bmap

./usr/sbin/xfs_check

./usr/sbin/xfs_copy

./usr/sbin/xfs_db

./usr/sbin/xfs_freeze

./usr/sbin/xfs_growfs

./usr/sbin/xfs_info

./usr/sbin/xfs_io

./usr/sbin/xfs_logprint

./usr/sbin/xfs_mdrestore

./usr/sbin/xfs_metadump

./usr/sbin/xfs_mkfile

./usr/sbin/xfs_ncheck

./usr/sbin/xfs_quota

./usr/sbin/xfs_rtcp

./usr/share/doc/xfsprogs-2.9.4

./usr/share/doc/xfsprogs-2.9.4/CHANGES

./usr/share/doc/xfsprogs-2.9.4/COPYING

./usr/share/doc/xfsprogs-2.9.4/CREDITS

./usr/share/doc/xfsprogs-2.9.4/PORTING

./usr/share/doc/xfsprogs-2.9.4/README

./usr/share/locale/pl/LC_MESSAGES/xfsprogs.mo

./usr/share/man/man5/xfs.5.gz

./usr/share/man/man8/fsck.xfs.8.gz

./usr/share/man/man8/mkfs.xfs.8.gz

./usr/share/man/man8/xfs_admin.8.gz

./usr/share/man/man8/xfs_bmap.8.gz

./usr/share/man/man8/xfs_check.8.gz

./usr/share/man/man8/xfs_copy.8.gz

./usr/share/man/man8/xfs_db.8.gz

./usr/share/man/man8/xfs_freeze.8.gz

./usr/share/man/man8/xfs_growfs.8.gz

./usr/share/man/man8/xfs_info.8.gz

./usr/share/man/man8/xfs_io.8.gz

./usr/share/man/man8/xfs_logprint.8.gz

./usr/share/man/man8/xfs_mdrestore.8.gz

./usr/share/man/man8/xfs_metadump.8.gz

./usr/share/man/man8/xfs_mkfile.8.gz

./usr/share/man/man8/xfs_ncheck.8.gz

./usr/share/man/man8/xfs_quota.8.gz

./usr/share/man/man8/xfs_repair.8.gz

./usr/share/man/man8/xfs_rtcp.8.gz

5995 blocks

実行。

# ./usr/sbin/xfs_info /dev/sdc1

xfs_info: /dev/sdc1 is not a mounted XFS filesystem

[root@migretest temp]# ./sbin/xfs_repair /dev/sdc1

Phase 1 - find and verify superblock...

sb root inode value 18446744073709551615 (NULLFSINO) inconsistent with calculated value 128

resetting superblock root inode pointer to 128

sb realtime bitmap inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 129

resetting superblock realtime bitmap ino pointer to 129

sb realtime summary inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 130

resetting superblock realtime summary ino pointer to 130

Phase 2 - using internal log

- zero log...

XFS: Log inconsistent (didn't find previous header)

XFS: failed to find log head

zero_log: cannot find log head/tail (xlog_find_tail=5), zeroing it anyway

- scan filesystem freespace and inode maps...

bad magic # 0x0 for agf 0

bad version # 0 for agf 0

bad length 0 for agf 0, should be 7630957

bad magic # 0x0 for agi 0

bad version # 0 for agi 0

bad length # 0 for agi 0, should be 7630957

reset bad agf for ag 0

reset bad agi for ag 0

bad agbno 0 for btbno root, agno 0

bad agbno 0 for btbcnt root, agno 0

bad agbno 0 for inobt root, agno 0

root inode chunk not found

Phase 3 - for each AG...

- scan and clear agi unlinked lists...

error following ag 0 unlinked list

- process known inodes and perform inode discovery...

- agno = 0

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

correcting imap

- agno = 1

- agno = 2

- agno = 3

- agno = 4

- agno = 5

- agno = 6

- agno = 7

- agno = 8

- agno = 9

- agno = 10

- agno = 11

- agno = 12

- agno = 13

- agno = 14

- agno = 15

- agno = 16

- agno = 17

- agno = 18

- agno = 19

- agno = 20

- agno = 21

- agno = 22

- agno = 23

- agno = 24

- agno = 25

- agno = 26

- agno = 27

- agno = 28

- agno = 29

- agno = 30

- agno = 31

- process newly discovered inodes...

Phase 4 - check for duplicate blocks...

- setting up duplicate extent list...

- check for inodes claiming duplicate blocks...

- agno = 1

- agno = 0

- agno = 2

- agno = 3

- agno = 4

entry "M000020160129212951e8e0b7a3c118.dtv" at block 0 offset 616 in directory inode 128 references non-existent inode 221292

clearing inode number in entry at offset 616...

entry "M000020161007195615e8e0b7a3c118.dtv" at block 0 offset 728 in directory inode 128 references non-existent inode 426

clearing inode number in entry at offset 728...

entry "M000020161130225951e8e0b7a3c118.dtv.rat" at block 0 offset 880 in directory inode 128 references non-existent inode 221289

clearing inode number in entry at offset 880...

entry "M000020160212212950e8e0b7a3c118.dtv" at block 0 offset 1256 in directory inode 128 references non-existent inode 221332

clearing inode number in entry at offset 1256...

entry "M000020160131222951e8e0b7a3c118.dtv.rat" at block 0 offset 1304 in directory inode 128 references non-existent inode 221301

clearing inode number in entry at offset 1304...

entry "M000020160129212951e8e0b7a3c118.dtv.meta" at block 0 offset 1584 in directory inode 128 references non-existent inode 221287

clearing inode number in entry at offset 1584...

entry "M000020161204000451e8e0b7a3c118.dtv" at block 0 offset 1640 in directory inode 128 references non-existent inode 221308

clearing inode number in entry at offset 1640...

entry "M000020160827170450e8e0b7a3c118.dtv.rat" at block 0 offset 1744 in directory inode 128 references non-existent inode 221280

clearing inode number in entry at offset 1744...

entry "M000020160903170451e8e0b7a3c118.dtv" at block 0 offset 2072 in directory inode 128 references non-existent inode 221317

clearing inode number in entry at offset 2072...

entry "M000020160829215951e8e0b7a3c118.dtv" at block 0 offset 2392 in directory inode 128 references non-existent inode 221284

clearing inode number in entry at offset 2392...

entry "M000020161130225951e8e0b7a3c118.dtv.meta" at block 0 offset 2440 in directory inode 128 references non-existent inode 221282

clearing inode number in entry at offset 2440...

entry "M000020161218000450e8e0b7a3c118.dtv" at block 0 offset 2496 in directory inode 128 references non-existent inode 221322

clearing inode number in entry at offset 2496...

entry "M000020161204000451e8e0b7a3c118.dtv.meta" at block 0 offset 2600 in directory inode 128 references non-existent inode 221283

clearing inode number in entry at offset 2600...

entry "M000020160212001721e8e0b7a3c118.dtv" at block 0 offset 2664 in directory inode 128 references non-existent inode 221328

clearing inode number in entry at offset 2664...

entry "M000020160212012951e8e0b7a3c118.dtv" at block 0 offset 2768 in directory inode 128 references non-existent inode 221327

clearing inode number in entry at offset 2768...

entry "M000020170114210245e8e0b7a3c118.dtv" at block 0 offset 2864 in directory inode 128 references non-existent inode 434

clearing inode number in entry at offset 2864...

entry "M000020161218000450e8e0b7a3c118.dtv.meta" at block 0 offset 2912 in directory inode 128 references non-existent inode 221303

clearing inode number in entry at offset 2912...

entry "M000020160205212951e8e0b7a3c118.dtv.meta" at block 0 offset 3040 in directory inode 128 references non-existent inode 221307

clearing inode number in entry at offset 3040...

entry "M000020161130225951e8e0b7a3c118.dtv" at block 0 offset 3192 in directory inode 128 references non-existent inode 221288

clearing inode number in entry at offset 3192...

entry "M000020160213215951e8e0b7a3c118.dtv" at block 0 offset 3312 in directory inode 128 references non-existent inode 221336

clearing inode number in entry at offset 3312...

entry "M000020160829215951e8e0b7a3c118.dtv.rat" at block 0 offset 3464 in directory inode 128 references non-existent inode 221285

clearing inode number in entry at offset 3464...

entry "M000020160129212951e8e0b7a3c118.dtv.rat" at block 0 offset 3632 in directory inode 128 references non-existent inode 221293

clearing inode number in entry at offset 3632...

entry "M000020160131205951e8e0b7a3c118.dtv.meta" at block 0 offset 3688 in directory inode 128 references non-existent inode 221291

clearing inode number in entry at offset 3688...

entry "M000020160205212951e8e0b7a3c118.dtv" at block 0 offset 3744 in directory inode 128 references non-existent inode 221312

clearing inode number in entry at offset 3744...

entry "M000020160131205951e8e0b7a3c118.dtv" at block 0 offset 3800 in directory inode 128 references non-existent inode 221296

clearing inode number in entry at offset 3800...

entry "M000020160131205951e8e0b7a3c118.dtv.rat" at block 0 offset 3848 in directory inode 128 references non-existent inode 221297

clearing inode number in entry at offset 3848...

entry "M000020160131222951e8e0b7a3c118.dtv.meta" at block 0 offset 3904 in directory inode 128 references non-existent inode 221295

clearing inode number in entry at offset 3904...

entry "M000020160205212951e8e0b7a3c118.dtv.rat" at block 0 offset 3960 in directory inode 128 references non-existent inode 221313

clearing inode number in entry at offset 3960...

entry "M000020160131222951e8e0b7a3c118.dtv" at block 0 offset 4016 in directory inode 128 references non-existent inode 221300

clearing inode number in entry at offset 4016...

entry "M000020161007195615e8e0b7a3c118.dtv.rat" at block 1 offset 128 in directory inode 128 references non-existent inode 427

clearing inode number in entry at offset 128...

entry "M000020170115232951e8e0b7a3c118.dtv.meta" at block 1 offset 240 in directory inode 128 references non-existent inode 458

clearing inode number in entry at offset 240...

entry "M000020160910170451e8e0b7a3c118.dtv.meta" at block 1 offset 400 in directory inode 128 references non-existent inode 416

clearing inode number in entry at offset 400...

entry "M000020160910215952e8e0b7a3c118.dtv" at block 1 offset 456 in directory inode 128 references non-existent inode 429

clearing inode number in entry at offset 456...

entry "M000020160212001721e8e0b7a3c118.dtv.meta" at block 1 offset 632 in directory inode 128 references non-existent inode 221323

clearing inode number in entry at offset 632...

entry "M000020160212001721e8e0b7a3c118.dtv.rat" at block 1 offset 744 in directory inode 128 references non-existent inode 221324

clearing inode number in entry at offset 744...

entry "M000020160212012951e8e0b7a3c118.dtv.meta" at block 1 offset 800 in directory inode 128 references non-existent inode 221325

clearing inode number in entry at offset 800...

entry "M000020160212012951e8e0b7a3c118.dtv.rat" at block 1 offset 912 in directory inode 128 references non-existent inode 221329

clearing inode number in entry at offset 912...

entry "M000020161218000450e8e0b7a3c118.dtv.rat" at block 1 offset 968 in directory inode 128 references non-existent inode 221326

clearing inode number in entry at offset 968...

entry "M000020161205215951e8e0b7a3c118.dtv.meta" at block 1 offset 1072 in directory inode 128 references non-existent inode 221315

clearing inode number in entry at offset 1072...

entry "M000020160212212950e8e0b7a3c118.dtv.meta" at block 1 offset 1136 in directory inode 128 references non-existent inode 221320

clearing inode number in entry at offset 1136...

entry "M000020160212212950e8e0b7a3c118.dtv.rat" at block 1 offset 1248 in directory inode 128 references non-existent inode 221333

clearing inode number in entry at offset 1248...

entry "M000020160213215951e8e0b7a3c118.dtv.meta" at block 1 offset 1304 in directory inode 128 references non-existent inode 221331

clearing inode number in entry at offset 1304...

entry "M000020161205215951e8e0b7a3c118.dtv" at block 1 offset 1360 in directory inode 128 references non-existent inode 100270404

clearing inode number in entry at offset 1360...

entry "M000020160213215951e8e0b7a3c118.dtv.rat" at block 1 offset 1416 in directory inode 128 references non-existent inode 221337

clearing inode number in entry at offset 1416...

entry "M000020160910215952e8e0b7a3c118.dtv.rat" at block 1 offset 1472 in directory inode 128 references non-existent inode 430

clearing inode number in entry at offset 1472...

entry "M000020161218232951e8e0b7a3c118.dtv" at block 1 offset 1528 in directory inode 128 references non-existent inode 100270410

clearing inode number in entry at offset 1528...

entry "M000020160903170451e8e0b7a3c118.dtv.rat" at block 1 offset 1576 in directory inode 128 references non-existent inode 221318

clearing inode number in entry at offset 1576...

entry "M000020160905215950e8e0b7a3c118.dtv" at block 1 offset 1632 in directory inode 128 references non-existent inode 417

clearing inode number in entry at offset 1632...

entry "M000020161007205950e8e0b7a3c118.dtv.meta" at block 1 offset 1680 in directory inode 128 references non-existent inode 425

clearing inode number in entry at offset 1680...

entry "M000020161218232951e8e0b7a3c118.dtv.meta" at block 1 offset 1736 in directory inode 128 references non-existent inode 221321

clearing inode number in entry at offset 1736...

entry "M000020161008170450e8e0b7a3c118.dtv.meta" at block 1 offset 1800 in directory inode 128 references non-existent inode 456

clearing inode number in entry at offset 1800...

entry "M000020160905215950e8e0b7a3c118.dtv.meta" at block 1 offset 1856 in directory inode 128 references non-existent inode 221339

clearing inode number in entry at offset 1856...

entry "M000020160905215950e8e0b7a3c118.dtv.rat" at block 1 offset 1912 in directory inode 128 references non-existent inode 418

clearing inode number in entry at offset 1912...

entry "M000020160912215951e8e0b7a3c118.dtv" at block 1 offset 1968 in directory inode 128 references non-existent inode 437

clearing inode number in entry at offset 1968...

entry "M000020170114210245e8e0b7a3c118.dtv.rat" at block 1 offset 2176 in directory inode 128 references non-existent inode 435

clearing inode number in entry at offset 2176...

entry "M000020170114232452e8e0b7a3c118.dtv.meta" at block 1 offset 2392 in directory inode 128 references non-existent inode 433

clearing inode number in entry at offset 2392...

entry "M000020160903170451e8e0b7a3c118.dtv.meta" at block 1 offset 2552 in directory inode 128 references non-existent inode 221299

clearing inode number in entry at offset 2552...

entry "M000020170114210245e8e0b7a3c118.dtv.meta" at block 1 offset 2608 in directory inode 128 references non-existent inode 428

clearing inode number in entry at offset 2608...

entry "M000020170114232452e8e0b7a3c118.dtv" at block 1 offset 2664 in directory inode 128 references non-existent inode 442

clearing inode number in entry at offset 2664...

entry "M000020161007205950e8e0b7a3c118.dtv" at block 1 offset 2720 in directory inode 128 references non-existent inode 461

clearing inode number in entry at offset 2720...

entry "M000020170114232452e8e0b7a3c118.dtv.rat" at block 1 offset 2768 in directory inode 128 references non-existent inode 443

clearing inode number in entry at offset 2768...

entry "M000020160910215952e8e0b7a3c118.dtv.meta" at block 1 offset 2880 in directory inode 128 references non-existent inode 421

clearing inode number in entry at offset 2880...

entry "M000020160918115951e8e0b7a3c118.dtv" at block 1 offset 2936 in directory inode 128 references non-existent inode 445

clearing inode number in entry at offset 2936...

entry "M000020160226001450e8e0b7a3c118.dtv.meta" at block 1 offset 2984 in directory inode 128 references non-existent inode 221343

clearing inode number in entry at offset 2984...

entry "M000020161205215951e8e0b7a3c118.dtv.rat" at block 1 offset 3200 in directory inode 128 references non-existent inode 100270405

clearing inode number in entry at offset 3200...

entry "M000020161204000451e8e0b7a3c118.dtv.rat" at block 1 offset 3312 in directory inode 128 references non-existent inode 221309

clearing inode number in entry at offset 3312...

entry "M000020170102222951e8e0b7a3c118.dtv" at block 1 offset 3368 in directory inode 128 references non-existent inode 100270423

clearing inode number in entry at offset 3368...

entry "M000020170115120137e8e0b7a3c118.dtv.meta" at block 1 offset 3416 in directory inode 128 references non-existent inode 441

clearing inode number in entry at offset 3416...

entry "M000020160910170451e8e0b7a3c118.dtv" at block 1 offset 3528 in directory inode 128 references non-existent inode 422

clearing inode number in entry at offset 3528...

entry "M000020160912215951e8e0b7a3c118.dtv.meta" at block 1 offset 3576 in directory inode 128 references non-existent inode 432

clearing inode number in entry at offset 3576...

entry "M000020160910170451e8e0b7a3c118.dtv.rat" at block 1 offset 3792 in directory inode 128 references non-existent inode 423

clearing inode number in entry at offset 3792...

entry "M000020160919215951e8e0b7a3c118.dtv" at block 1 offset 3848 in directory inode 128 references non-existent inode 449

clearing inode number in entry at offset 3848...

entry "M000020161219215950e8e0b7a3c118.dtv.meta" at block 2 offset 184 in directory inode 128 references non-existent inode 100270409

clearing inode number in entry at offset 184...

entry "M000020160912215951e8e0b7a3c118.dtv.rat" at block 2 offset 296 in directory inode 128 references non-existent inode 438

clearing inode number in entry at offset 296...

entry "M000020170115120137e8e0b7a3c118.dtv.rat" at block 2 offset 352 in directory inode 128 references non-existent inode 460

clearing inode number in entry at offset 352...

entry "M000020161008192950e8e0b7a3c118.dtv" at block 2 offset 408 in directory inode 128 references non-existent inode 221304

clearing inode number in entry at offset 408...

entry "M000020160919215951e8e0b7a3c118.dtv.meta" at block 2 offset 504 in directory inode 128 references non-existent inode 444

clearing inode number in entry at offset 504...

entry "M000020170115120137e8e0b7a3c118.dtv" at block 2 offset 560 in directory inode 128 references non-existent inode 459

clearing inode number in entry at offset 560...

entry "M000020170116215951e8e0b7a3c118.dtv.meta" at block 2 offset 888 in directory inode 128 references non-existent inode 221316

clearing inode number in entry at offset 888...

entry "M000020161008170450e8e0b7a3c118.dtv" at block 2 offset 1048 in directory inode 128 references non-existent inode 473

clearing inode number in entry at offset 1048...

entry "M000020161008170450e8e0b7a3c118.dtv.rat" at block 2 offset 1160 in directory inode 128 references non-existent inode 474

clearing inode number in entry at offset 1160...

entry "M000020160925115951e8e0b7a3c118.dtv.meta" at block 2 offset 1328 in directory inode 128 references non-existent inode 457

clearing inode number in entry at offset 1328...

entry "M000020160925115951e8e0b7a3c118.dtv" at block 2 offset 1696 in directory inode 128 references non-existent inode 465

clearing inode number in entry at offset 1696...

entry "M000020160918115951e8e0b7a3c118.dtv.meta" at block 2 offset 1808 in directory inode 128 references non-existent inode 440

clearing inode number in entry at offset 1808...

entry "M000020160919215951e8e0b7a3c118.dtv.rat" at block 2 offset 1864 in directory inode 128 references non-existent inode 450

clearing inode number in entry at offset 1864...

entry "M000020161001170451e8e0b7a3c118.dtv" at block 2 offset 1920 in directory inode 128 references non-existent inode 477

clearing inode number in entry at offset 1920...

entry "M000020170115232951e8e0b7a3c118.dtv" at block 2 offset 2024 in directory inode 128 references non-existent inode 221340

clearing inode number in entry at offset 2024...

entry "M000020161008192950e8e0b7a3c118.dtv.meta" at block 2 offset 2080 in directory inode 128 references non-existent inode 468

clearing inode number in entry at offset 2080...

entry "M000020170116215951e8e0b7a3c118.dtv" at block 2 offset 2136 in directory inode 128 references non-existent inode 100270401

clearing inode number in entry at offset 2136...

entry "M000020160918115951e8e0b7a3c118.dtv.rat" at block 2 offset 2232 in directory inode 128 references non-existent inode 446

clearing inode number in entry at offset 2232...

entry "M000020160925115951e8e0b7a3c118.dtv.rat" at block 2 offset 2288 in directory inode 128 references non-existent inode 466

clearing inode number in entry at offset 2288...

entry "M000020160926215951e8e0b7a3c118.dtv.meta" at block 2 offset 2776 in directory inode 128 references non-existent inode 464

clearing inode number in entry at offset 2776...

entry "M000020161003215951e8e0b7a3c118.dtv" at block 2 offset 2888 in directory inode 128 references non-existent inode 454

clearing inode number in entry at offset 2888...

entry "M000020160926215951e8e0b7a3c118.dtv" at block 2 offset 2936 in directory inode 128 references non-existent inode 469

clearing inode number in entry at offset 2936...

entry "M000020160926215951e8e0b7a3c118.dtv.rat" at block 2 offset 3208 in directory inode 128 references non-existent inode 470

clearing inode number in entry at offset 3208...

entry "M000020161218232951e8e0b7a3c118.dtv.rat" at block 2 offset 3264 in directory inode 128 references non-existent inode 100270415

clearing inode number in entry at offset 3264...

entry "M000020161003215951e8e0b7a3c118.dtv.meta" at block 2 offset 3320 in directory inode 128 references non-existent inode 448

clearing inode number in entry at offset 3320...

entry "M000020161219215950e8e0b7a3c118.dtv" at block 2 offset 3376 in directory inode 128 references non-existent inode 122095235

clearing inode number in entry at offset 3376...

entry "M000020170102222951e8e0b7a3c118.dtv.meta" at block 2 offset 3480 in directory inode 128 references non-existent inode 100270408

clearing inode number in entry at offset 3480...

entry "M000020161007205950e8e0b7a3c118.dtv.rat" at block 2 offset 3848 in directory inode 128 references non-existent inode 462

clearing inode number in entry at offset 3848...

entry "M000020161207225951e8e0b7a3c118.dtv" at block 2 offset 3904 in directory inode 128 references non-existent inode 122095238

clearing inode number in entry at offset 3904...

entry "M000020170117185450e8e0b7a3c118.dtv.meta" at block 3 offset 16 in directory inode 128 references non-existent inode 100270400

clearing inode number in entry at offset 16...

entry "M000020161008192950e8e0b7a3c118.dtv.rat" at block 3 offset 1528 in directory inode 128 references non-existent inode 221305

clearing inode number in entry at offset 1528...

entry "M000020161001170451e8e0b7a3c118.dtv.meta" at block 3 offset 1640 in directory inode 128 references non-existent inode 472

clearing inode number in entry at offset 1640...

entry "M000020161009205950e8e0b7a3c118.dtv" at block 3 offset 1696 in directory inode 128 references non-existent inode 100270412

clearing inode number in entry at offset 1696...

entry "M000020161003215951e8e0b7a3c118.dtv.rat" at block 3 offset 1800 in directory inode 128 references non-existent inode 455

clearing inode number in entry at offset 1800...

entry "M000020161001170451e8e0b7a3c118.dtv.rat" at block 3 offset 2016 in directory inode 128 references non-existent inode 478

clearing inode number in entry at offset 2016...

entry "M000020170116215951e8e0b7a3c118.dtv.rat" at block 3 offset 2232 in directory inode 128 references non-existent inode 100270420

clearing inode number in entry at offset 2232...

entry "M000020170115232951e8e0b7a3c118.dtv.rat" at block 3 offset 2608 in directory inode 128 references non-existent inode 221341

clearing inode number in entry at offset 2608...

entry "M000020161102225950e8e0b7a3c118.dtv.meta" at block 3 offset 2712 in directory inode 128 references non-existent inode 100270457

clearing inode number in entry at offset 2712...

entry "M000020161102225950e8e0b7a3c118.dtv" at block 3 offset 2768 in directory inode 128 references non-existent inode 100270462

clearing inode number in entry at offset 2768...

entry "M000020161009205950e8e0b7a3c118.dtv.rat" at block 4 offset 288 in directory inode 128 references non-existent inode 100270413

clearing inode number in entry at offset 288...

entry "M000020161017215950e8e0b7a3c118.dtv.meta" at block 4 offset 504 in directory inode 128 references non-existent inode 100270427

clearing inode number in entry at offset 504...

entry "M000020161010215950e8e0b7a3c118.dtv" at block 4 offset 720 in directory inode 128 references non-existent inode 100270416

clearing inode number in entry at offset 720...

entry "M000020161010215950e8e0b7a3c118.dtv.rat" at block 4 offset 936 in directory inode 128 references non-existent inode 100270417

clearing inode number in entry at offset 936...

entry "M000020161211000451e8e0b7a3c118.dtv.meta" at block 4 offset 1096 in directory inode 128 references non-existent inode 122095241

clearing inode number in entry at offset 1096...

entry "M000020161220001312e8e0b7a3c118.dtv.meta" at block 4 offset 1200 in directory inode 128 references non-existent inode 122095234

clearing inode number in entry at offset 1200...

entry "M000020161207225951e8e0b7a3c118.dtv.rat" at block 4 offset 1256 in directory inode 128 references non-existent inode 122095239

clearing inode number in entry at offset 1256...

entry "M000020170117185450e8e0b7a3c118.dtv" at block 4 offset 1528 in directory inode 128 references non-existent inode 100270429

clearing inode number in entry at offset 1528...

entry "M000020161207225951e8e0b7a3c118.dtv.meta" at block 4 offset 1584 in directory inode 128 references non-existent inode 122095233

clearing inode number in entry at offset 1584...

entry "M000020161209205951e8e0b7a3c118.dtv.meta" at block 4 offset 1640 in directory inode 128 references non-existent inode 122095237

clearing inode number in entry at offset 1640...

entry "M000020161017215950e8e0b7a3c118.dtv" at block 4 offset 1696 in directory inode 128 references non-existent inode 100270432

clearing inode number in entry at offset 1696...

entry "M000020170117185450e8e0b7a3c118.dtv.rat" at block 4 offset 2016 in directory inode 128 references non-existent inode 100270430

clearing inode number in entry at offset 2016...

entry "M000020161012225952e8e0b7a3c118.dtv.meta" at block 4 offset 2448 in directory inode 128 references non-existent inode 100270419

clearing inode number in entry at offset 2448...

entry "M000020161012225952e8e0b7a3c118.dtv" at block 4 offset 2664 in directory inode 128 references non-existent inode 100270424

clearing inode number in entry at offset 2664...

entry "M000020161012225952e8e0b7a3c118.dtv.rat" at block 4 offset 2880 in directory inode 128 references non-existent inode 100270425

clearing inode number in entry at offset 2880...

entry "M000020161209205951e8e0b7a3c118.dtv" at block 4 offset 3096 in directory inode 128 references non-existent inode 122095242

clearing inode number in entry at offset 3096...

entry "M000020170118102451e8e0b7a3c118.dtv.meta" at block 4 offset 3472 in directory inode 128 references non-existent inode 100270428

clearing inode number in entry at offset 3472...

entry "M000020161009205950e8e0b7a3c118.dtv.meta" at block 4 offset 3584 in directory inode 128 references non-existent inode 100270407

clearing inode number in entry at offset 3584...

entry "M000020161021205951e8e0b7a3c118.dtv" at block 4 offset 3640 in directory inode 128 references non-existent inode 100270437

clearing inode number in entry at offset 3640...

entry "M000020161010215950e8e0b7a3c118.dtv.meta" at block 4 offset 3736 in directory inode 128 references non-existent inode 100270411

clearing inode number in entry at offset 3736...

entry "M000020161019225953e8e0b7a3c118.dtv" at block 4 offset 3856 in directory inode 128 references non-existent inode 100270440

clearing inode number in entry at offset 3856...

entry "M000020170118102451e8e0b7a3c118.dtv" at block 5 offset 176 in directory inode 128 references non-existent inode 100270449

clearing inode number in entry at offset 176...

entry "M000020170118102451e8e0b7a3c118.dtv.rat" at block 5 offset 600 in directory inode 128 references non-existent inode 100270450

clearing inode number in entry at offset 600...

entry "M000020170118225951e8e0b7a3c118.dtv" at block 5 offset 880 in directory inode 128 references non-existent inode 122095285

clearing inode number in entry at offset 880...

entry "M000020161017215950e8e0b7a3c118.dtv.rat" at block 5 offset 992 in directory inode 128 references non-existent inode 100270433

clearing inode number in entry at offset 992...

entry "M000020170118225951e8e0b7a3c118.dtv.rat" at block 5 offset 1096 in directory inode 128 references non-existent inode 122095286

clearing inode number in entry at offset 1096...

entry "M000020161019225953e8e0b7a3c118.dtv.meta" at block 5 offset 1216 in directory inode 128 references non-existent inode 100270435

clearing inode number in entry at offset 1216...

entry "M000020161019225953e8e0b7a3c118.dtv.rat" at block 5 offset 1328 in directory inode 128 references non-existent inode 100270441

clearing inode number in entry at offset 1328...

entry "M000020161021205951e8e0b7a3c118.dtv.meta" at block 5 offset 1384 in directory inode 128 references non-existent inode 100270431

clearing inode number in entry at offset 1384...

entry "M000020161021205951e8e0b7a3c118.dtv.rat" at block 5 offset 1496 in directory inode 128 references non-existent inode 100270438

clearing inode number in entry at offset 1496...

entry "M000020161022205951e8e0b7a3c118.dtv.meta" at block 5 offset 1552 in directory inode 128 references non-existent inode 100270436

clearing inode number in entry at offset 1552...

entry "M000020161022205951e8e0b7a3c118.dtv" at block 5 offset 1664 in directory inode 128 references non-existent inode 100270444

clearing inode number in entry at offset 1664...

entry "M000020161022205951e8e0b7a3c118.dtv.rat" at block 5 offset 1712 in directory inode 128 references non-existent inode 100270445

clearing inode number in entry at offset 1712...

entry "M000020170118225951e8e0b7a3c118.dtv.meta" at block 5 offset 1872 in directory inode 128 references non-existent inode 100270448

clearing inode number in entry at offset 1872...

entry "M000020161023205951e8e0b7a3c118.dtv.meta" at block 5 offset 1984 in directory inode 128 references non-existent inode 100270447

clearing inode number in entry at offset 1984...

entry "M000020161023205951e8e0b7a3c118.dtv" at block 5 offset 2096 in directory inode 128 references non-existent inode 100270452

clearing inode number in entry at offset 2096...

entry "M000020161023205951e8e0b7a3c118.dtv.rat" at block 5 offset 2144 in directory inode 128 references non-existent inode 100270453

clearing inode number in entry at offset 2144...

entry "M000020161023232951e8e0b7a3c118.dtv.meta" at block 5 offset 2200 in directory inode 128 references non-existent inode 100270451

clearing inode number in entry at offset 2200...

entry "M000020161023232951e8e0b7a3c118.dtv" at block 5 offset 2312 in directory inode 128 references non-existent inode 100270455

clearing inode number in entry at offset 2312...

entry "M000020161023232951e8e0b7a3c118.dtv.rat" at block 5 offset 2360 in directory inode 128 references non-existent inode 100270456

clearing inode number in entry at offset 2360...

entry "M000020161024215951e8e0b7a3c118.dtv.meta" at block 5 offset 2416 in directory inode 128 references non-existent inode 100270454

clearing inode number in entry at offset 2416...

entry "M000020161024215951e8e0b7a3c118.dtv" at block 5 offset 2528 in directory inode 128 references non-existent inode 100270458

clearing inode number in entry at offset 2528...

entry "M000020161024215951e8e0b7a3c118.dtv.rat" at block 5 offset 2576 in directory inode 128 references non-existent inode 100270459

clearing inode number in entry at offset 2576...

entry "M000020161026225951e8e0b7a3c118.dtv.meta" at block 5 offset 2848 in directory inode 128 references non-existent inode 100270460

clearing inode number in entry at offset 2848...

entry "M000020161029205951e8e0b7a3c118.dtv.meta" at block 5 offset 3064 in directory inode 128 references non-existent inode 100270463

clearing inode number in entry at offset 3064...

entry "M000020170103205950e8e0b7a3c118.dtv" at block 6 offset 232 in directory inode 128 references non-existent inode 122095274

clearing inode number in entry at offset 232...

entry "M000020161228225951e8e0b7a3c118.dtv.meta" at block 6 offset 336 in directory inode 128 references non-existent inode 122095272

clearing inode number in entry at offset 336...

entry "M000020161228225951e8e0b7a3c118.dtv" at block 6 offset 392 in directory inode 128 references non-existent inode 122095276

clearing inode number in entry at offset 392...

entry "M000020161231142156e8e0b7a3c118.dtv.meta" at block 6 offset 440 in directory inode 128 references non-existent inode 122095275

clearing inode number in entry at offset 440...

entry "M000020170101225951e8e0b7a3c118.dtv" at block 6 offset 496 in directory inode 128 references non-existent inode 122095282

clearing inode number in entry at offset 496...

entry "M000020170103161822e8e0b7a3c118.dtv.meta" at block 6 offset 544 in directory inode 128 references non-existent inode 122095287

clearing inode number in entry at offset 544...

entry "M000020170103161822e8e0b7a3c118.dtv.rat" at block 6 offset 600 in directory inode 128 references non-existent inode 122095292

clearing inode number in entry at offset 600...

entry "M000020170108000450e8e0b7a3c118.dtv" at block 6 offset 720 in directory inode 128 references non-existent inode 122095293

clearing inode number in entry at offset 720...

entry "M000020170101225951e8e0b7a3c118.dtv.meta" at block 6 offset 1096 in directory inode 128 references non-existent inode 122095278

clearing inode number in entry at offset 1096...

entry "M000020170104225951e8e0b7a3c118.dtv.meta" at block 6 offset 1152 in directory inode 128 references non-existent inode 122095288

clearing inode number in entry at offset 1152...

entry "M000020170103205950e8e0b7a3c118.dtv.rat" at block 6 offset 1208 in directory inode 128 references non-existent inode 122095290

clearing inode number in entry at offset 1208...

entry "M000020161209205951e8e0b7a3c118.dtv.rat" at block 6 offset 1312 in directory inode 128 references non-existent inode 122095243

clearing inode number in entry at offset 1312...

entry "M000020161211000451e8e0b7a3c118.dtv" at block 6 offset 1424 in directory inode 128 references non-existent inode 122095246

clearing inode number in entry at offset 1424...

entry "M000020161211000451e8e0b7a3c118.dtv.rat" at block 6 offset 1472 in directory inode 128 references non-existent inode 122095247

clearing inode number in entry at offset 1472...

entry "M000020161231142156e8e0b7a3c118.dtv" at block 6 offset 1528 in directory inode 128 references non-existent inode 122095279

clearing inode number in entry at offset 1528...

entry "M000020170101225951e8e0b7a3c118.dtv.rat" at block 6 offset 1576 in directory inode 128 references non-existent inode 122095283

clearing inode number in entry at offset 1576...

entry "M000020170108000450e8e0b7a3c118.dtv.meta" at block 6 offset 1632 in directory inode 128 references non-existent inode 122095284

clearing inode number in entry at offset 1632...

entry "M000020161212215952e8e0b7a3c118.dtv.meta" at block 6 offset 1744 in directory inode 128 references non-existent inode 122095248

clearing inode number in entry at offset 1744...

entry "M000020161212215952e8e0b7a3c118.dtv" at block 6 offset 1856 in directory inode 128 references non-existent inode 122095252

clearing inode number in entry at offset 1856...

entry "M000020161212215952e8e0b7a3c118.dtv.rat" at block 6 offset 1904 in directory inode 128 references non-existent inode 122095253

clearing inode number in entry at offset 1904...

entry "M000020161219215950e8e0b7a3c118.dtv.rat" at block 6 offset 1960 in directory inode 128 references non-existent inode 122095236

clearing inode number in entry at offset 1960...

entry "M000020161220001312e8e0b7a3c118.dtv" at block 6 offset 2072 in directory inode 128 references non-existent inode 122095250

clearing inode number in entry at offset 2072...

entry "M000020161220001312e8e0b7a3c118.dtv.rat" at block 6 offset 2120 in directory inode 128 references non-existent inode 122095251

clearing inode number in entry at offset 2120...

entry "M000020161231142156e8e0b7a3c118.dtv.rat" at block 6 offset 2176 in directory inode 128 references non-existent inode 122095280

clearing inode number in entry at offset 2176...

entry "M000020170108130707e8e0b7a3c118.dtv.meta" at block 6 offset 2280 in directory inode 128 references non-existent inode 122095289

clearing inode number in entry at offset 2280...

entry "M000020161221215950e8e0b7a3c118.dtv.meta" at block 6 offset 2392 in directory inode 128 references non-existent inode 122095254

clearing inode number in entry at offset 2392...

entry "M000020161221215950e8e0b7a3c118.dtv" at block 6 offset 2504 in directory inode 128 references non-existent inode 122095258

clearing inode number in entry at offset 2504...

entry "M000020161221215950e8e0b7a3c118.dtv.rat" at block 6 offset 2552 in directory inode 128 references non-existent inode 122095259

clearing inode number in entry at offset 2552...

entry "M000020161221225950e8e0b7a3c118.dtv.meta" at block 6 offset 2608 in directory inode 128 references non-existent inode 122095257

clearing inode number in entry at offset 2608...

entry "M000020161221225950e8e0b7a3c118.dtv" at block 6 offset 2720 in directory inode 128 references non-existent inode 122095261

clearing inode number in entry at offset 2720...

entry "M000020161221225950e8e0b7a3c118.dtv.rat" at block 6 offset 2768 in directory inode 128 references non-existent inode 122095262

clearing inode number in entry at offset 2768...

entry "M000020161223192951e8e0b7a3c118.dtv.meta" at block 6 offset 2824 in directory inode 128 references non-existent inode 122095260

clearing inode number in entry at offset 2824...

entry "M000020161223192951e8e0b7a3c118.dtv" at block 6 offset 2936 in directory inode 128 references non-existent inode 122095264

clearing inode number in entry at offset 2936...

entry "M000020161223192951e8e0b7a3c118.dtv.rat" at block 6 offset 2984 in directory inode 128 references non-existent inode 122095265

clearing inode number in entry at offset 2984...

entry "M000020161225205950e8e0b7a3c118.dtv.meta" at block 6 offset 3040 in directory inode 128 references non-existent inode 122095263

clearing inode number in entry at offset 3040...

entry "M000020161225205950e8e0b7a3c118.dtv" at block 6 offset 3152 in directory inode 128 references non-existent inode 122095267

clearing inode number in entry at offset 3152...

entry "M000020161225205950e8e0b7a3c118.dtv.rat" at block 6 offset 3200 in directory inode 128 references non-existent inode 122095268

clearing inode number in entry at offset 3200...

entry "M000020161225232950e8e0b7a3c118.dtv.meta" at block 6 offset 3256 in directory inode 128 references non-existent inode 122095266

clearing inode number in entry at offset 3256...

entry "M000020161225232950e8e0b7a3c118.dtv" at block 6 offset 3368 in directory inode 128 references non-existent inode 122095270

clearing inode number in entry at offset 3368...

entry "M000020161225232950e8e0b7a3c118.dtv.rat" at block 6 offset 3416 in directory inode 128 references non-existent inode 122095271

clearing inode number in entry at offset 3416...

entry "M000020161226215950e8e0b7a3c118.dtv.meta" at block 6 offset 3472 in directory inode 128 references non-existent inode 122095249

clearing inode number in entry at offset 3472...

entry "M000020161226215950e8e0b7a3c118.dtv" at block 6 offset 3584 in directory inode 128 references non-existent inode 122095256

clearing inode number in entry at offset 3584...

entry "M000020161226215950e8e0b7a3c118.dtv.rat" at block 6 offset 3632 in directory inode 128 references non-existent inode 122095269

clearing inode number in entry at offset 3632...

entry "M000020170103205950e8e0b7a3c118.dtv.meta" at block 6 offset 3688 in directory inode 128 references non-existent inode 122095255

clearing inode number in entry at offset 3688...

entry "M000020161228225951e8e0b7a3c118.dtv.rat" at block 6 offset 3856 in directory inode 128 references non-existent inode 122095277

clearing inode number in entry at offset 3856...

entry "M000020170102222951e8e0b7a3c118.dtv.rat" at block 6 offset 3912 in directory inode 128 references non-existent inode 122095232

clearing inode number in entry at offset 3912...

entry "M000020170103161822e8e0b7a3c118.dtv" at block 6 offset 4024 in directory inode 128 references non-existent inode 122095291

clearing inode number in entry at offset 4024...

entry "aee0000000d.bin" at block 0 offset 48 in directory inode 139 references non-existent inode 221281

clearing inode number in entry at offset 48...

entry "aee00000003.bin" at block 0 offset 80 in directory inode 139 references non-existent inode 420

clearing inode number in entry at offset 80...

entry "aee0000000f.bin" at block 0 offset 176 in directory inode 139 references non-existent inode 221290

clearing inode number in entry at offset 176...

entry "aee00000024.bin" at block 0 offset 400 in directory inode 139 references non-existent inode 431

clearing inode number in entry at offset 400...

entry "aee00000013.bin" at block 0 offset 432 in directory inode 139 references non-existent inode 453

clearing inode number in entry at offset 432...

entry "aee0000001c.bin" at block 0 offset 496 in directory inode 139 references non-existent inode 436

clearing inode number in entry at offset 496...

entry "aee00000027.bin" at block 0 offset 592 in directory inode 139 references non-existent inode 439

clearing inode number in entry at offset 592...

entry "aee00000031.bin" at block 0 offset 720 in directory inode 139 references non-existent inode 447

clearing inode number in entry at offset 720...

entry "aee00000026.bin" at block 0 offset 816 in directory inode 139 references non-existent inode 452

clearing inode number in entry at offset 816...

entry "aee00000032.bin" at block 0 offset 880 in directory inode 139 references non-existent inode 451

clearing inode number in entry at offset 880...

entry "aee0000000e.bin" at block 0 offset 1168 in directory inode 139 references non-existent inode 221286

clearing inode number in entry at offset 1168...

entry "aee00000035.bin" at block 0 offset 1200 in directory inode 139 references non-existent inode 100270402

clearing inode number in entry at offset 1200...

entry "aee00000014.bin" at block 0 offset 1232 in directory inode 139 references non-existent inode 221310

clearing inode number in entry at offset 1232...

entry "aee00000022.bin" at block 0 offset 1552 in directory inode 139 references non-existent inode 463

clearing inode number in entry at offset 1552...

entry "aee0000002d.bin" at block 0 offset 1584 in directory inode 139 references non-existent inode 476

clearing inode number in entry at offset 1584...

entry "aee00000017.bin" at block 0 offset 1680 in directory inode 139 references non-existent inode 100270403

clearing inode number in entry at offset 1680...

entry "aee00000010.bin" at block 0 offset 1744 in directory inode 139 references non-existent inode 221294

clearing inode number in entry at offset 1744...

entry "aee00000038.bin" at block 0 offset 1776 in directory inode 139 references non-existent inode 475

clearing inode number in entry at offset 1776...

entry "aee00000011.bin" at block 0 offset 1808 in directory inode 139 references non-existent inode 221298

clearing inode number in entry at offset 1808...

entry "aee00000012.bin" at block 0 offset 1872 in directory inode 139 references non-existent inode 221302

clearing inode number in entry at offset 1872...

entry "aee00000039.bin" at block 0 offset 1936 in directory inode 139 references non-existent inode 467

clearing inode number in entry at offset 1936...

entry "aee0000003d.bin" at block 0 offset 2000 in directory inode 139 references non-existent inode 471

clearing inode number in entry at offset 2000...

entry "aee00000023.bin" at block 0 offset 2064 in directory inode 139 references non-existent inode 100270406

clearing inode number in entry at offset 2064...

entry "aee00000015.bin" at block 0 offset 2128 in directory inode 139 references non-existent inode 221314

clearing inode number in entry at offset 2128...

entry "aee00000016.bin" at block 0 offset 2256 in directory inode 139 references non-existent inode 221335

clearing inode number in entry at offset 2256...

entry "aee00000041.bin" at block 0 offset 2288 in directory inode 139 references non-existent inode 221306

clearing inode number in entry at offset 2288...

entry "aee00000044.bin" at block 0 offset 2352 in directory inode 139 references non-existent inode 479

clearing inode number in entry at offset 2352...

entry "aee00000008.bin" at block 0 offset 2384 in directory inode 139 references non-existent inode 221311

clearing inode number in entry at offset 2384...

entry "aee00000036.bin" at block 0 offset 2448 in directory inode 139 references non-existent inode 221342

clearing inode number in entry at offset 2448...

entry "aee0000002c.bin" at block 0 offset 2608 in directory inode 139 references non-existent inode 100270421

clearing inode number in entry at offset 2608...

entry "aee00000019.bin" at block 0 offset 2640 in directory inode 139 references non-existent inode 221319

clearing inode number in entry at offset 2640...

entry "aee00000018.bin" at block 0 offset 2704 in directory inode 139 references non-existent inode 221330

clearing inode number in entry at offset 2704...

entry "aee00000048.bin" at block 0 offset 2768 in directory inode 139 references non-existent inode 122095281

clearing inode number in entry at offset 2768...

entry "aee0000001a.bin" at block 0 offset 2832 in directory inode 139 references non-existent inode 221334

clearing inode number in entry at offset 2832...

entry "aee0000001b.bin" at block 0 offset 2896 in directory inode 139 references non-existent inode 221338

clearing inode number in entry at offset 2896...

entry "aee0000005e.bin" at block 0 offset 2960 in directory inode 139 references non-existent inode 122095245

clearing inode number in entry at offset 2960...

entry "aee00000069.bin" at block 0 offset 3024 in directory inode 139 references non-existent inode 100270414

clearing inode number in entry at offset 3024...

entry "aee00000050.bin" at block 0 offset 3248 in directory inode 139 references non-existent inode 100270422

clearing inode number in entry at offset 3248...

entry "aee00000072.bin" at block 0 offset 3280 in directory inode 139 references non-existent inode 100270418

clearing inode number in entry at offset 3280...

entry "aee00000067.bin" at block 0 offset 3344 in directory inode 139 references non-existent inode 122095240

clearing inode number in entry at offset 3344...

entry "aee00000077.bin" at block 0 offset 3440 in directory inode 139 references non-existent inode 100270426

clearing inode number in entry at offset 3440...

entry "aee00000075.bin" at block 0 offset 3472 in directory inode 139 references non-existent inode 122095244

clearing inode number in entry at offset 3472...

entry "aee00000078.bin" at block 0 offset 3664 in directory inode 139 references non-existent inode 100270443

clearing inode number in entry at offset 3664...

entry "aee0000001d.bin" at block 0 offset 3728 in directory inode 139 references non-existent inode 419

clearing inode number in entry at offset 3728...

entry "aee0000007a.bin" at block 0 offset 3760 in directory inode 139 references non-existent inode 100270434

clearing inode number in entry at offset 3760...

entry "aee0000007b.bin" at block 0 offset 3856 in directory inode 139 references non-existent inode 100270439

clearing inode number in entry at offset 3856...

entry "aee00000021.bin" at block 0 offset 3952 in directory inode 139 references non-existent inode 424

clearing inode number in entry at offset 3952...

entry "aee0000007c.bin" at block 0 offset 3984 in directory inode 139 references non-existent inode 100270442

clearing inode number in entry at offset 3984...

entry "aee0000007d.bin" at block 1 offset 80 in directory inode 139 references non-existent inode 100270446

clearing inode number in entry at offset 80...

entry "aee0000007f.bin" at block 1 offset 112 in directory inode 139 references non-existent inode 100270461

clearing inode number in entry at offset 112...

- agno = 5

- agno = 6

- agno = 7

- agno = 8

- agno = 9

- agno = 10

- agno = 11

- agno = 12

- agno = 13

- agno = 14

- agno = 15

- agno = 16

- agno = 17

- agno = 18

- agno = 19

- agno = 20

- agno = 21

- agno = 22

- agno = 23

- agno = 24

- agno = 25

- agno = 26

- agno = 27

- agno = 28

- agno = 29

- agno = 30

- agno = 31

Phase 5 - rebuild AG headers and trees...

- reset superblock...

Phase 6 - check inode connectivity...

- resetting contents of realtime bitmap and summary inodes

- traversing filesystem ...

rebuilding directory inode 128

bad hash table for directory inode 139 (no data entry): rebuilding

rebuilding directory inode 139

- traversal finished ...

- moving disconnected inodes to lost+found ...

Phase 7 - verify and correct link counts...

done

なんか出来た風。

# mount /dev/sdc1 /media/

# xfs_info /media/

meta-data=/dev/sdc1 isize=256 agcount=32, agsize=7630957 blks

= sectsz=512 attr=0, projid32bit=0

= crc=0 finobt=0 spinodes=0

data = bsize=4096 blocks=244190624, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=0

log =internal bsize=4096 blocks=32768, version=1

= sectsz=512 sunit=0 blks, lazy-count=0

realtime =none extsz=4096 blocks=0, rtextents=0

# umount /media/

できたかな。


rpmの再ビルドを覚悟してたのに、あっさり動いて拍子ぬけた。

つまらん。


さて、これで再生できればおなぐさみ〜。

まだ出来ることはいくつか残っているので、たぶん続く。

2017-01-27

東芝のTVについないだHDDが認識しなくなったと持ち込まれる(2)

http://d.hatena.ne.jp/kinneko/20170126/p1

の続き。


ドライブ2台と、USBコンバーターを渡して、東芝デバイスで初期化してきてもらう。

コンバーターが同一でも、違うドライブ名で認識されたそうだ。

というわけで、インターフェイスのPID/VIDは見てない感じ。


GPTパーティションなので、fdisk使っているわけにもいかない。

gdiskを入れる。

# yum install gdisk


初期化してきてもらったドライブを見る。

# gdisk -l /dev/sdb

GPT fdisk (gdisk) version 0.8.6

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present

Found valid GPT with protective MBR; using GPT.

Disk /dev/sdb: 3907029168 sectors, 1.8 TiB

Logical sector size: 512 bytes

Disk identifier (GUID): AE82BC37-BEC6-4DB5-8407-13B43D1B860F

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 3907029134

Partitions will be aligned on 8-sector boundaries

Total free space is 6 sectors (3.0 KiB)

Number Start (sector) End (sector) Size Code Name

1 40 3907029134 1.8 TiB 0700 primary

壊れたほうのドライブを見る。

# gdisk -l /dev/sdc

GPT fdisk (gdisk) version 0.8.6

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present

Found valid GPT with protective MBR; using GPT.

Disk /dev/sdc: 1953525168 sectors, 931.5 GiB

Logical sector size: 512 bytes

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1953525134

Partitions will be aligned on 8-sector boundaries

Total free space is 6 sectors (3.0 KiB)

Number Start (sector) End (sector) Size Code Name

1 40 1953525134 931.5 GiB 0700 primary

あれ?

GUID取れているな。

これ合わせれば使えるんじゃないかな?


一応マウントして何があるか見てみる。

# mount /dev/sdb1 /mnt/

# ls -la /mnt/

total 4

drwxr-xr-x. 3 root root 35 Jan 25 07:52 .

dr-xr-xr-x. 19 root root 4096 Jan 25 10:00 ..

drwxr-xr-x. 4 root root 41 Jan 25 07:52 .toshibazze8e0b7a3c118

# find /mnt/.toshibazze8e0b7a3c118/ -ls

131 0 drwxr-xr-x 4 root root 41 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/

132 4 -rw-r--r-- 1 root root 80 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/did.bin

268435584 0 drwxr-xr-x 2 root root 40 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/log

268435585 4 -rw-r--r-- 1 root root 11 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/log/info.dat

268435586 4 -rw-r--r-- 1 root root 512 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/log/00000000.dat

536871040 0 drwxr-xr-x 2 root root 34 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/alkf

536871041 4 -rw-r----- 1 root root 32 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/alkf/alk.bin

536871042 4 -rw-r--r-- 1 root root 32 Jan 25 07:52 /mnt/.toshibazze8e0b7a3c118/alkf/ald.bin

# umount /mnt/


GPTの構造については、ここに書かれているので読む。

GPTでは、UUID相当は、ドライブだけじゃなく、パーティション毎に存在するのね。

ということは、パーティションのGUIDも調べておく必要がある。


壊れたほうのドライブで確認。

# gdisk -l /dev/sdb

(snip)

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

(snip)

# gdisk -l /dev/sdb1

(snip)

Disk identifier (GUID): EDC149DC-D40C-411E-A3F1-CB6B07C95A8B

(snip)

[root@migretest ~]# gdisk /dev/sdb

GPT fdisk (gdisk) version 0.8.6

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): i

Using 1

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: 1D41B86D-52EF-4554-B3A9-617E489B7F85

First sector: 40 (at 20.0 KiB)

Last sector: 1953525134 (at 931.5 GiB)

Partition size: 1953525095 sectors (931.5 GiB)

Attribute flags: 0000000000000000

Partition name: 'primary'

なるほど、確かに違う値が取れる。

しかし、lで見た値とiで見た値が違うのはなんでだ?


どちらも上書きで合わせる。

xでエキスパートモード。

g(change disk GUID)とc(change partition GUID)で変更できる。

以下に揃えて上書きする。

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: 1D41B86D-52EF-4554-B3A9-617E489B7F85

# gdisk /dev/sdb

Command (? for help): p

Disk identifier (GUID): 05258A9C-F15E-42CE-8DAD-80649382D1C1

Command (? for help): i

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: 0DF7A27A-D0AE-4742-92FB-01FC42A4137F

Command (? for help): x

Expert command (? for help): g

Enter the disk's unique GUID ('R' to randomize): F9C37D09-284D-4F00-8153-9367AEF4A0EE

The new disk GUID is F9C37D09-284D-4F00-8153-9367AEF4A0EE

Expert command (? for help): c

Using 1

Enter the partition's new unique GUID ('R' to randomize): EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

New GUID is EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

Expert command (? for help): p

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

Expert command (? for help): i

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

うむむ意図に反して、Partition GUID codeとPartition unique GUIDが同一になってしまった。

Partition GUID codeは、"xfs_admin -U"でも変更できたような気がするので、ここでは、Partition unique GUIDに統一しておく。

Command (? for help): x

Expert command (? for help): c

Using 1

Enter the partition's new unique GUID ('R' to randomize): 1D41B86D-52EF-4554-B3A9-617E489B7F85

New GUID is 1D41B86D-52EF-4554-B3A9-617E489B7F85

Expert command (? for help): i

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: 1D41B86D-52EF-4554-B3A9-617E489B7F85

あれ?

こんどはPartition unique GUIDだけ書き換わった。

面白い。

目的は達成できたので、これで書き込む。

Expert command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING

PARTITIONS!!

Do you want to proceed? (Y/N): y

OK; writing new GUID partition table (GPT) to /dev/sdb.

The operation has completed successfully.

確認。

# gdisk -l /dev/sdb

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

# gdisk -l /dev/sdb1

Disk identifier (GUID): DF931843-4C5A-453D-B651-3E34BF677092

# gdisk /dev/sdb

Command (? for help): p

Disk identifier (GUID): F9C37D09-284D-4F00-8153-9367AEF4A0EE

Command (? for help): i

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)

Partition unique GUID: 1D41B86D-52EF-4554-B3A9-617E489B7F85

Command (? for help): q

意図した中身になった。

どのGUIDを録画機側で使用しているかは追わない。


あとは壊れたドライブのデータを新しいドライブに退避するだけ。

2つのドライブをマウント。

# mount /dev/sdb1 /mnt/

# mount -t xfs /dev/sdc1 /media/ -o ro,norecovery

上書きしてよいファイルを考える。

.toshibazze8e0b7a3c118/の下には、デフォルトで以下のファイルが作られる。

did.bin

log/info.dat

log/00000000.dat

alkf/alk.bin

alkf/ald.bin

did.binとalkf/以下はセクタ情報を見ているという話もあるので、動かさないほうがよさげ。

didはdiskidのことかな?ということは固有値?上書きしないとダメかな。

-rw-r--r--. 1 root root 80 Jan 1 2016 did.bin

-rw-r--r--. 1 root root 32 Jan 1 2016 ald.bin

-rw-r-----. 1 root root 32 Jan 1 2016 alk.bin

録画機側で更新されている。なんだろう?

新しくフォーマットしたものでは、更新日付がフォーマット日になっている。

サイズは同じ。

-rw-r--r--. 1 root root 80 Jan 25 07:52 did.bin

-rw-r--r--. 1 root root 32 Jan 25 07:52 ald.bin

-rw-r-----. 1 root root 32 Jan 25 07:52 alk.bin

バイナリを比較してみる。

# diff /mnt/.toshibazze8e0b7a3c118/did.bin /media/.toshibazze8e0b7a3c118/did.bin

Binary files /mnt/.toshibazze8e0b7a3c118/did.bin and /media/.toshibazze8e0b7a3c118/did.bin differ

# hexdump -C /mnt/.toshibazze8e0b7a3c118/did.bin

00000000 32 30 30 39 30 33 31 33 41 00 00 00 58 8a 7d 90 |20090313A...X.}.|

00000010 18 2b 16 f5 c8 77 d5 ba ef e1 85 59 52 ac 13 ef |.+...w.....YR...|

00000020 e2 67 7e ec 5a a4 5f da 19 b4 a2 98 83 25 13 6c |.g~.Z._......%.l|

00000030 5c 1b 86 10 6d a9 58 bc 97 7f a2 0a bc 77 bc be |\...m.X......w..|

00000040 c4 51 a2 6d ac c7 eb 3f a9 aa 0b 7e 36 2e 03 31 |.Q.m...?...~6..1|

00000050

# hexdump -C /media/.toshibazze8e0b7a3c118/did.bin

00000000 32 30 30 39 30 33 31 33 41 00 00 00 56 86 20 88 |20090313A...V. .|

00000010 d8 e4 62 96 d3 bd 22 75 2f a1 e4 e5 2e 3e 7c 20 |..b..."u/....>| |

00000020 2c 12 9f 72 15 59 2e fc dd 7b d1 cc 1b af c8 b1 |,..r.Y...{......|

00000030 bf 2a 7c 5a 2f 9e ce f6 c4 49 a5 b3 04 eb e0 3f |.*|Z/....I.....?|

00000040 b2 75 a3 f1 10 a2 e7 a7 e5 cb 3e f5 13 77 87 0a |.u........>..w..|

00000050

微妙に違うが、中身はわからない。

先頭のはファームウエア・リビジョンくさい感じの日付入り。ここだけは同じ。


ald.binは、サイズは違うが同じデータが繰り返し入っているだけ。

# hexdump -C /mnt/.toshibazze8e0b7a3c118/alkf/ald.bin

00000000 1e 70 d4 0b 5d 09 87 56 7c b3 e2 7e e3 38 8c 31 |.p..]..V|..~.8.1|

00000010 e0 68 e0 d8 43 bc 0d 9a 63 59 6c fe 15 04 53 66 |.h..C...cYl...Sf|

00000020 1e 70 d4 0b 5d 09 87 56 7c b3 e2 7e e3 38 8c 31 |.p..]..V|..~.8.1|

00000030 e0 68 e0 d8 43 bc 0d 9a 63 59 6c fe 15 04 53 66 |.h..C...cYl...Sf|

00000040

[root@migretest media]# hexdump -C /media/.toshibazze8e0b7a3c118/alkf/ald.bin

00000000 1e 70 d4 0b 5d 09 87 56 7c b3 e2 7e e3 38 8c 31 |.p..]..V|..~.8.1|

00000010 e0 68 e0 d8 43 bc 0d 9a 63 59 6c fe 15 04 53 66 |.h..C...cYl...Sf|

00000020

alk.binはまったく同じもの。

# hexdump -C /mnt/.toshibazze8e0b7a3c118/alkf/alk.bin

00000000 13 3f 91 e3 7c c1 ab 78 46 fd 7a 8f 73 c8 c5 8b |.?..|..xF.z.s...|

00000010 47 f9 a7 06 50 ab dc ac 75 82 bb 76 05 57 d4 78 |G...P...u..v.W.x|

00000020

# hexdump -C /media/.toshibazze8e0b7a3c118/alkf/alk.bin

00000000 13 3f 91 e3 7c c1 ab 78 46 fd 7a 8f 73 c8 c5 8b |.?..|..xF.z.s...|

00000010 47 f9 a7 06 50 ab dc ac 75 82 bb 76 05 57 d4 78 |G...P...u..v.W.x|

00000020


録画済みのものでは、以下の違いがある。

bid.binが増えている。これはBDのIDかな。copy10th用?

log/には、連番でdatファイルが増えていく。

alkf/には、alc0000000.buc/.binが連番でふえていく。

aeef0000000/が出来て、aee0000000d.binというような恐らく16進連番で増えていくファイルがある。

直下には、以下の形式のセットが書き込まれる。これが録画データかな?

M000020170118225951e8e0b7a3c118.dtv

M000020170118225951e8e0b7a3c118.dtv.meta

M000020170118225951e8e0b7a3c118.dtv.rat

ドットファイルとしては、以下ができている。

.toshiba_dir_info_e8e0b7a3c118

.toshiba_size_info_e8e0b7a3c118

.toshiba_serieslist_e8e0b7a3c118

これらは、コピーしなくてもよさそう。

.toshiba_size_info_e8e0b7a3c118はサイズ0なので、なにかサイズ警告用のフラッグだろうか?

あとの2つはデータがある。

-rw-r--r--. 1 root root 95316 Jan 18 23:30 .toshiba_dir_info_e8e0b7a3c118

-rw-r--r--. 1 root root 1632 Jan 18 22:59 .toshiba_serieslist_e8e0b7a3c118


とりあえず、基本上書きでコピってみる。

なんか改ざん検知したら、本体側の登録データは削除されてしまうかな...

録画機でxattrを使っているような気もしないので、ベタコピー。

録画データのコピー。

# cp -av /media/M00* /mnt/

‘/media/M000020160103230951e8e0b7a3c118.dtv’ -> ‘/mnt/M000020160103230951e8e0b7a3c118.dtv’

(snip)

dotファイルのコピー。

# cp -av /media/.toshiba_* /mnt/

‘/media/.toshiba_dir_info_e8e0b7a3c118’ -> ‘/mnt/.toshiba_dir_info_e8e0b7a3c118’

‘/media/.toshiba_serieslist_e8e0b7a3c118’ -> ‘/mnt/.toshiba_serieslist_e8e0b7a3c118’

‘/media/.toshiba_size_info_e8e0b7a3c118’ -> ‘/mnt/.toshiba_size_info_e8e0b7a3c118’

dot dirのコピー。alkf/alk.bin, ald.binはコピーしない。bid.binはコピーしない。did.binは上書き。

# cp -av /media/.toshibazze8e0b7a3c118/aeef000000* /mnt/.toshibazze8e0b7a3c118/

‘/media/.toshibazze8e0b7a3c118/aeef0000000’ -> ‘/mnt/.toshibazze8e0b7a3c118/aeef0000000’

‘/media/.toshibazze8e0b7a3c118/aeef0000000/aee0000000d.bin’ -> ‘/mnt/.toshibazze8e0b7a3c118/aeef0000000/aee0000000d.bin’

(snip)

# cp -av /media/.toshibazze8e0b7a3c118/log /mnt/.toshibazze8e0b7a3c118/

cp: overwrite ‘/mnt/.toshibazze8e0b7a3c118/log/info.dat’? y

‘/media/.toshibazze8e0b7a3c118/log/info.dat’ -> ‘/mnt/.toshibazze8e0b7a3c118/log/info.dat’

cp: overwrite ‘/mnt/.toshibazze8e0b7a3c118/log/00000000.dat’? y

‘/media/.toshibazze8e0b7a3c118/log/00000000.dat’ -> ‘/mnt/.toshibazze8e0b7a3c118/log/00000000.dat’

‘/media/.toshibazze8e0b7a3c118/log/00000001.dat’ -> ‘/mnt/.toshibazze8e0b7a3c118/log/00000001.dat’

‘/media/.toshibazze8e0b7a3c118/log/00000002.dat’ -> ‘/mnt/.toshibazze8e0b7a3c118/log/00000002.dat’

# cp -av /media/.toshibazze8e0b7a3c118/did.bin /mnt/.toshibazze8e0b7a3c118/

cp: overwrite ‘/mnt/.toshibazze8e0b7a3c118/did.bin’? y

‘/media/.toshibazze8e0b7a3c118/did.bin’ -> ‘/mnt/.toshibazze8e0b7a3c118/did.bin’


ドライブのサイズも、USBコンバーターも変わっているし、これで再生できればおなぐさみ...

渡してダメなら諦めてもらうしか。


(3)に続くかも。