{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/rescue/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/rescue/", "feed_url": "https://matoken.org/blog/tag/rescue/feed/json/", "language": "ja", "title": "rescue – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=2718", "url": "https://matoken.org/blog/2020/04/11/notes-on-fat32-when-recovering-hdd-data/", "title": "HDD\u30c7\u30fc\u30bf\u5fa9\u65e7\u6642\u306bFAT32\u306e\u5236\u9650\u306b\u5d4c\u3063\u305f\u30e1\u30e2", "content_html": "
2.5\u30a4\u30f3\u30c1\u30cf\u30fc\u30c9\u30c7\u30a3\u30b9\u30af\u3092PC\u306b\u63a5\u7d9a\u3057\u3066\u3082\u8a8d\u8b58\u3057\u306a\u304f\u306a\u3063\u305f\u3068\u306e\u3053\u3068\u3067\u8aad\u3081\u308b\u3088\u3046\u306b\u306a\u3089\u306a\u3044\u304b\u76f8\u8ac7\u3092\u53d7\u3051\u307e\u3057\u305f\uff0e
\n\u5143\u3005NotePC\u306b\u5185\u8535\u3055\u308c\u3066\u3044\u305f\u3082\u306e\u3092USB\u63a5\u7d9a\u306e\u7bb1\u306b\u5165\u308c\u3066\u4f7f\u3063\u3066\u3044\u305f\u3068\u306e\u3053\u3068\uff0e
\n\u578b\u756a\u306f TOSHIBA MK4058GSX \u3067 \u7d04400GB \u306e\u3082\u306e\uff0e
\nUSB \u30a8\u30f3\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u306f USB3.0 \u63a5\u7d9a\u3067 USB A – micro B 3.0 \u4e45\u3005\u306b\u898b\u307e\u3057\u305f\uff0e
\u5fa9\u5143\u3057\u305f\u30c7\u30fc\u30bf\u306f\u4e00\u7dd2\u306b\u6e21\u3055\u308c\u305f 3.5\u30a4\u30f3\u30c1\u5916\u4ed8\u3051\u30cf\u30fc\u30c9\u30c7\u30a3\u30b9\u30af\u306b\u5165\u308c\u3066\u307b\u3057\u3044\u3068\u306e\u3053\u3068\uff0e
\n\u78ba\u8a8d\u3059\u308b\u3068FAT32\u3067\u3059\uff0e\u6a29\u9650\u306a\u3069\u306f\u843d\u3061\u3066\u3057\u307e\u3046\u3088\u306a\u30fc\u3068\u78ba\u8a8d\u3059\u308b\u3068\u30d5\u30a1\u30a4\u30eb\u304c\u6551\u3048\u3055\u3048\u3059\u308c\u3070\u3044\u3044\u3068\u306e\u3053\u3068\uff0e
\u307e\u3042\u30c7\u30a3\u30b9\u30af\u8a8d\u8b58\u304c\u51fa\u6765\u308c\u3070\u5438\u3044\u51fa\u3057\u3066loopback mount\u3057\u3066\u30b3\u30d4\u30fc\u3068\u8a00\u3046\u611f\u3058\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304cFAT32\u306e\u304a\u304b\u3052\u3067\u7d50\u69cb\u9762\u5012\u3067\u3057\u305f\uff0e
\n\u4eca\u56de\u306f Debian sid amd64 \u74b0\u5883\u3067HDD\u304b\u3089 GNU ddrescue \u3067\u30a4\u30e1\u30fc\u30b8\u3092\u5438\u3044\u51fa\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3057\u3066\u304b\u3089\u30b3\u30d4\u30fc\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\uff0e
\nLinux\u74b0\u5883\u304c\u306a\u3051\u308c\u3070 SystemRescueCd \u3068\u304b\u3092USB\u30e1\u30e2\u30ea\u8d77\u52d5\u3057\u305f\u308a\u3059\u308b\u306e\u304c\u304a\u624b\u8efd\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\nPC\u306b\u63a5\u7d9a\u3059\u308b\u3068\u30ad\u30e5\u30eb\u30ad\u30e5\u30eb\u30ab\u30c3\u30b3\u30f3\u3068\u3044\u3063\u305f\u7570\u97f3\u304c\u3057\u307e\u3059\uff0e\u4e45\u3005\u306b\u3053\u3046\u3044\u3046\u97f3\u3092\u3059\u308b\u30cf\u30fc\u30c9\u30c7\u30a3\u30b9\u30af\u3092\u89e6\u308a\u307e\u3057\u305f\uff0e
\n\u3053\u3053\u3067\u805e\u3051\u307e\u3059 https://files.matoken.org/index.php/s/87bax7MHnG28DfK
\nPC\u306b\u63a5\u7d9a\u3057\u3066\u5c11\u3057\u6642\u9593\u306f\u639b\u304b\u308a\u307e\u3057\u305f\u304c /dev/sdb \u3068\u3057\u3066\u8a8d\u8b58\u3057\u307e\u3057\u305f\uff0e
\n\u8a8d\u8b58\u3057\u305f\u3068\u3053\u308d\u3067 GNU ddrescue \u3067\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3092\u5438\u3044\u51fa\u3057\u3066\u307f\u307e\u3059\uff0erate\u304c\u3059\u3054\u304f\u5909\u52d5\u3057\u3066\u6b8b\u308a\u6642\u9593\u304c\u6570\u6642\u9593\u301c\u6570\u5341\u65e5\u3067\u5b89\u5b9a\u3057\u307e\u305b\u3093\uff0e\u5e78\u30441\u65e5\u3068\u5c11\u3057\u3067\u6700\u5f8c\u307e\u3067\u8d70\u308a\u304d\u3063\u3066 bad-sector/bad area \u3082\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u6050\u3089\u304f\u30c7\u30fc\u30bf\u306e\u6b20\u843d\u3082\u306a\u304b\u3063\u305f\u3088\u3046\u3067\u3059\uff0e
\n$ time sudo ddrescue -n -v /dev/sdb ./disk.img ./disk.img.log\nGNU ddrescue 1.23\nAbout to copy 400088 MBytes from '/dev/sdb' to 'disk.img'\n Starting positions: infile = 0 B, outfile = 0 B\n Copy block size: 128 sectors Initial skip size: 7936 sectors\nSector size: 512 Bytes\n\nPress Ctrl-C to interrupt\n ipos: 400088 MB, non-trimmed: 0 B, current rate: 16015 kB/s\n opos: 400088 MB, non-scraped: 0 B, average rate: 4225 kB/s\nnon-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s\n rescued: 400088 MB, bad areas: 0, run time: 1d 2h 17m\npct rescued: 100.00%, read errors: 0, remaining time: n/a\n time since last successful read: n/a\nFinished\n\nreal 1578m2.468s\nuser 0m35.744s\nsys 10m24.384s\n\u5438\u3044\u51fa\u3057\u305f\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3092\u898b\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u5143PC\u306e\u30ea\u30ab\u30d0\u30ea\u9818\u57df\u306a\u3069\u3082\u6b8b\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e
\n$ fdisk -l ./disk.img\nDisk ./disk.img: 372.63 GiB, 400088457216 bytes, 781422768 sectors\nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\nDisklabel type: dos\nDisk identifier: 0xcd22cd22\n\nDevice Boot Start End Sectors Size Id Type\n./disk.img1 2048 3074047 3072000 1.5G 27 Hidden NTFS WinRE\n./disk.img2 * 3074048 653834239 650760192 310.3G 7 HPFS/NTFS/exFAT\n./disk.img3 653834240 758691839 104857600 50G f W95 Ext'd (LBA)\n./disk.img4 758691840 781422591 22730752 10.9G 17 Hidden HPFS/NTFS\n./disk.img5 653836288 758691839 104855552 50G 7 HPFS/NTFS/exFAT\n\nPartition table entries are not in disk order.\nmount \u30b3\u30de\u30f3\u30c9\u306e offset option \u3067 mount \u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u307e\u3059\u304c\u9762\u5012\u306a\u306e\u3067 kpartx \u30b3\u30de\u30f3\u30c9\u3067\u30c7\u30d0\u30a4\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u3057\u3066\u304a\u304d\u307e\u3059\uff0e
\n\u3053\u308c\u3067\u51fa\u6765\u305f\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30c7\u30d0\u30a4\u30b9\u3092\u6307\u5b9a\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3067\u304d\u307e\u3059\uff0e
$ sudo kpartx -av ./disk.img\nadd map loop8p1 (253:3): 0 3072000 linear 7:8 2048\nadd map loop8p2 (253:4): 0 650760192 linear 7:8 3074048\nadd map loop8p3 (253:5): 0 2 linear 7:8 653834240\nadd map loop8p4 (253:6): 0 22730752 linear 7:8 758691840\nadd map loop8p5 (253:7): 0 104855552 linear 7:8 653836288\n/mnt/p1 \u306b\u30de\u30a6\u30f3\u30c8$ sudo mkdir -p /mnt/p1\n$ sudo mount -o ro,loop /dev/mapper/loop8p1 /mnt/p1\nrsync \u3092\u4f7f\u3063\u3066\u30b3\u30d4\u30fc\uff0e(--modify-window=2 \u306fFAT32\u5bfe\u7b56)
$ rsync -avvc --modify-window=2 --log-file=rsync.log \u30b3\u30d4\u30fc\u5143 \u30b3\u30d4\u30fc\u5148\n\u6570\u6642\u9593\u5f8c\uff0e\u30ed\u30b0\u304c\u6b62\u307e\u3063\u3066\u308b\u3051\u3069\u5927\u304d\u3044\u30d5\u30a1\u30a4\u30eb\u8ee2\u9001\u4e2d\u306a\u306e\u304b\u306a?
\n\u534a\u65e5\u5f8c\u2026\u2026\u672a\u3060\u7d42\u308f\u3089\u306a\u3044\uff0e\u30ed\u30b0\u5909\u308f\u3063\u3066\u306a\u3044\u3088\u3046\u306a?\u30e1\u30e2\u3057\u3066\u304a\u304f\uff0e
\n1\u65e5\u5f8c\uff0e\u753b\u9762\u306b\u5909\u5316\u304c\u306a\u3044\u306e\u3067\u56fa\u307e\u3063\u3066\u308b!
Ctrl+C\u3067\u4e2d\u65ad\uff0e
\n\u518d\u5ea6\u5b9f\u884c\u3059\u308b\u3068\u540c\u3058\u3068\u3053\u308d\u3067\u6b62\u307e\u308b\uff0e
\u306a\u3093\u3067\u3060\u308d\u3046?\u3068\u3044\u308d\u3044\u308d\u8a66\u3059\u3068\u8ee2\u9001\u5148\u306e\u8a72\u5f53\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u30a8\u30e9\u30fc\u3068\u306a\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3057\u305f\uff0e
\nFAT32\u306e\u554f\u984c\u30671\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u6570\u5236\u9650\u306b\u5f15\u3063\u304b\u304b\u3063\u305f\u3088\u3046\uff0e
\n$ n=1;while :;do if ! touch ${n};then echo ${n} ;break;fi ;n=$(( n + 1 ));done\ntouch: cannot touch '65534': No space left on device\n65534\n$ ls -1A|wc -l\n65533\n$ ls -1a|wc -l\n65535\n$ n=1;while :;do if ! touch `printf %0255d ${n}`;then echo ${n} ;break;fi ;n=$(( n + 1 ));done\ntouch: cannot touch '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003121': No space left on device\n3121\n$ ls -lA|wc -l\n3121\n$ ls -la|wc -l\n3123\n--exclude '\u9664\u5916' \u3067\u3068\u308a\u3042\u3048\u305a\u3042\u3068\u3067\u5bfe\u5fdc\uff0e\u3068 --timeout=30 \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4ed8\u3051\u3066\u30a8\u30e9\u30fc\u6642\u306b\u7d42\u4e86\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u518d\u5ea6\u5b9f\u884c\uff0e
$ rsync -avvc --modify-window=2 --timeout=30 --log-file=rsync.log --exclude '\u9664\u5916' \u30b3\u30d4\u30fc\u5143 \u30b3\u30d4\u30fc\u5148\n\u4f55\u5ea6\u304b\u540c\u3058\u30a8\u30e9\u30fc\u304c\u3067\u305f\u306e\u3067\u90fd\u5ea6\u9664\u5916\u30ea\u30b9\u30c8\u3092\u4f38\u3070\u3057\u3066\u3044\u304f><
\n\u7d42\u308f\u3063\u305f\u5f8c\u306b\u8a72\u5f53\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306fzip\u30a2\u30fc\u30ab\u30a4\u30d6\u5316\u3057\u305f\uff0e4GB\u3092\u8d85\u3048\u308b\u3082\u306e\u306b\u3064\u3044\u3066\u306fzip\u306eSplit archives\u6a5f\u80fd(zip 3.0\u4ee5\u4e0a)\u3092\u5229\u7528\uff0e
\n$ zip -9rs 3800m /fat32/hoge.zip source_dir\n\u540c\u69d8\u306b\u30d1\u30fc\u30c6\u30a3\u30fc\u30b7\u30e7\u30f32\u3064\u76ee\u4ee5\u964d\u3082\u30b3\u30d4\u30fc\u3057\u3066\u3044\u304f\uff0e
\n\u66f8\u304d\u51fa\u3057HDD\u306e\u7a7a\u304d\u5bb9\u91cf\u306b\u4f59\u88d5\u304c\u3042\u3063\u305f\u306e\u3067\u5438\u3044\u51fa\u3057\u305fRAW Disk \u30a4\u30e1\u30fc\u30b8\u3082\u30b3\u30d4\u30fc\u3057\u3066\u304a\u304f\uff0e
\n4GB\u5236\u9650\u304c\u3042\u308b\u306e\u3067split\u3067\u5206\u5272\u3057\u3066\u30b3\u30d4\u30fc\uff0e
$ split -b 4000000000 ./disk.img\n\u3053\u308c\u3067\u3068\u308a\u3042\u3048\u305a\u7c21\u5358\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068\u4e00\u7dd2\u306b\u6e21\u3057\u3066\u7d42\u308f\u308a\u306b\u3057\u307e\u3057\u305f\uff0e
\n\u305d\u306e\u5f8c\u8fd4\u4fe1\u306a\u3044\u3051\u3069\u8fd4\u4fe1\u304c\u306a\u3044\u3063\u3066\u3053\u3068\u306f\u591a\u5206\u5927\u4e08\u592b\u306a\u306e\u304b\u306a?
\u3066\u3053\u3068\u3067\u30c7\u30a3\u30b9\u30af\u306fFAT32 \u306f\u907f\u3051\u305f\u307b\u3046\u304c\u3044\u3044\u306d\u3068\u3044\u3046\uff0e\u30c7\u30b8\u30ab\u30e1\u306a\u3069\u3067FAT32\u306b\u3057\u304b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3082\u306e\u306f\u4ed5\u65b9\u304c\u306a\u3044\u3067\u3059\u304c\uff0cPC\u306b\u7e4b\u3050\u5916\u4ed8\u3051HDD\u306a\u3069\u306fNTFS\u3084exFat\u306a\u3069\u306b\u3057\u305f\u3089\u4eca\u56de\u306e\u3088\u3046\u306a\u30c8\u30e9\u30d6\u30eb\u306b\u4f1a\u3044\u306b\u304f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e(Linux\u3067\u3082\u8aad\u307f\u66f8\u304d\u3067\u304d\u308b)
\n