iPhone、iPadのバックアップフォルダが破損した場合のデータの救出

この記事は「iPhone、iPadからデータが失われ、過去にPCでバックアップを暗号化なしで行いバックアップフォルダ(MobileSync→Backupフォルダ)は存在するが、Backupフォルダの一部が破損していてiTunesで復元ができない場合」の無料でできるデータ救出方法です。

・iTunesの復元でだめだったパターン

Backupの復元を一部のファイルが欠けた状態で行った

→すぐに、「バックアップ壊れているため、iTunesはiPhoneを復元できませんでした。」のエラー

 

Backupの復元をダミーファイルでとりあえず全部そろえて、行った

→復元作業が始まってiPhoneにデータを転送し終わって完了したかと思ったら「バックアップ壊れているため、iTunesはiPhoneを復元できませんでした。」と出て無理だった

よってiTunesでの復元は諦めた

バックアップフォルダよりハッシュ化されたデータを人間が見やすいように変換させる

これはbackupフォルダ→ハッシュ化されたフォルダ→manifest.dbが破損していなく、フォルダが暗号化されていない場合のみに有効です!

仕組みとして、iPhoneのデータはハッシュ化されているが、manifest.dbに基本的なデータ情報が残っている。そのためそこから逆引きみたいな形でデータを復元させる

やり方

1.VMWareでUbuntuをインストール

VMWare Player :https://www.vmware.com/

Ubuntuのダウンロード:https://ubuntu.com/download

今回は19.10を使用した

WMwareでUbuntuのインストールと起動は他のところで調べてください

 

2.UbuntuでアップデートしてGitとSQLITE3など必要なソフトをインストール

https://github.com/inflex/ideviceunback

これがmanifest.dbからファイルを復元するソフトです

・ubuntuでterminalを起動

sudo apt update

sudo apt upgrade

sudo apt-get install git

sudo apt-get install libsqlite3-dev

#これないとideviceunbackのmakeのときに「fatal error: sqlite3.h: No such file or directory」とでる

3.ideviceunbackをGitからダウンロードしてコンパイル

git clone https://github.com/inflex/ideviceunback.git

cd ideviceunback

make

#エラーが出なければ成功です!

4.フォルダをVMwareのubuntuにコピー

色々なコピー方法がありますが、VMwareだとドラッグアンドドロップでファイルをUbuntu内に転送できます。

5.バックアップフォルダを人間が見やすいように変換

terminalで

ideviceunback -v -i path/to/backup -o output/path


これでoutputフォルダに変換されたファイルが見えます!

エラーが出る、出力が何もされない場合はmanifest.dbが破損しているか、暗号化されている可能性が高いです。残念ですが回復は厳しいです

 

 

Windowsのエラーでコピーできないファイル(CRC32エラー)をフォルダごと強制コピーさせるソフト

fcopyやCD recoveryというファイルごとに巡回冗長検査エラー(CRC32エラー)を強制コピーするソフトは世の中に存在するんだけど、なぜかディレクトリをまるごと強制的にコピーするソフトが存在しなかった。

なので自分で改良して、Batファイルを作成しました。

こちらからダウンロードできます。

dirFcopyをダウンロード

・ブロック単位でファイルをコピーする。

・ブロックサイズはデフォルトで32KB

・リードエラーが出たブロックは、0で埋められてコピー先ファイルに書き込まる。

というFcopy.exe

リンク:http://hyperstoneapple3.dip.jp/fcopy/fcopy.htm

のデフォルトの仕様をそのまま引き継いでいます。

使い方は

ダウンロードしたdirfcopy.batがあるフォルダでWindows PowerShell やCommand Promptを起動し

 

./dirfcopy.bat “破損元データがあるフォルダ” “出力先フォルダ”

で動きます。

 

あまり使う機会ないかもしれないけど、どうぞ使って下さい

 

For English user

dirFcopy force to copy data even if there is a CRC32 error (or some error)

You can copy each folder

・Copy files in blocks

・Block size is 32KB by default

・The block is overwritten with zero where the read error occurred 

Download:dirFcopy

How to use

In Windows PowerShell or Command Prompt

just enter

./dirfcopy.bat “source directory” “destination directory”

DLMarketの代わりのコンテンツ販売サイト

いつの間にかDLMarketが閉鎖していた。不正アクセスが原因らしい。

今回データコンテンツを販売したいなーと思ったら、直ぐに見つかった。

Note.muです

多分WEBに詳しい人だったら一度は見たこと有ると思うけど、このサイトならDLMarket的な使い方は出来ると思う。

ただし、無料アカウントの有料Noteのコンテンツの料金は、100円〜10,000円の範囲内です。
プレミアム会員は上限50,000円までらしい。

月500円払えばプレミアム会員とのことです。

とりあえず無料で試してみよう。

新規薬局開業で近隣大手薬局からの嫌がらせ

この間、新規店舗開業のお客さんのところに当社の監査システムが導入されることになって色々話を聞いてた。

この新規店舗を開設した方(以降Aさんと呼ぶ)は自身が薬剤師でMRを数年経験してその後独立という経緯。

MRだから先生が院外処方に変えて、それで薬局を開くパターンかと思うけど、そのパターンは現在はそこまで件数として多くない。

Aさんのパターンは簡単に言うとすでにある市場への殴り込みである。

実はというか、知っている人は知ってるんだけど県がやっている公式の医療ページに実際に処方した患者さんの数を公開している。

Aさんはこのページのデータを1つづつ検証して、良さそうな立地、賃料などを色々調べて、とある地域で繁盛しているクリニックが何件もあるのに大手薬局が1件程度しかない場所を見つけたとのこと。

オーソドックスだけど患者さんが読みやすく確実な方法である。

実際オープンして1年経ってないけどすでに1日で20人ほど患者さんは来てくれて経営は安定してきたのこと。

それだけ聞くと順調で良かった良かったという話だがそういうわけでない。

 

当たり前だが、殴り込みしたのだから近隣の薬局とバチバチとのこと。(でも別に何も悪くない)

まぁそれだけなら良くあることだし、市場の原理からして仕方のないことだと思うんだけど、問題はこの後。

どうも殴り込みをかけられた大手薬局が卸業者に圧力をかけてAさんの薬局に薬を全く卸しくてくれないと。

近隣の卸業者は全部ダメで、それは違法というか典型的な不正競争防止法違反である。

仕方なく他県の業者から卸してもらっている。

でも先発とかは取り扱いがないから、2次卸?的な感じでわざわざ他社を挟んでる。

大手卸→薬局→他県卸→Aさんの薬局

みたいな感じとのこと

このご時世でもそんなことが有るんだなぁとか思いながら、大手薬局グループが地域を独占するとこんな事が起こるんだと、世の中の怖さを再認識した瞬間だった。

 

MT4でヒストリーセンターから一括でCSVに出力

MT4でヒストリーセンターよりダウンロードした過去データをエクスポートをするとCSVファイルに出力できるのだが、1分足とかを出力すると65000件しか出力されない。

最初は絞り込められるのはそーゆーものかのかなと思ってたが、これ間違ってた。

デフォルトで外部のソフトなどなしですべてのデータを一括でCSVに出力できます。

MT4のツール→オプション→チャートを選択

チャートの最大バー数:65000となっているところを

2147483647

に変更しましょう

そうすると一括でCSVにエクスポートできます

 

なんかヒストリカルデータをヒストリーセンターから1分足をエクスポートするとめちゃよくバグる

具体的には0/xxxxxxx とかになってデータが何もエクスポートされなかったり、250000/xxxxxxxx とか謎の区切りいい数字に勝手に区切られたりする。

どうも最大バー数を一度小さい値にして、そのあと大きくして、MT4を再起動すると動くことが多い気がする。

バグだろうけど多分修正されないだろうからとりあえず上の方法でやるといいかも