prekageo / partclone-utils Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
Hi George,
As part of my work on the Rescuezilla "Image Explorer" graphical frontend, I am evaluating, consolidating and improving partclone-util's imagemount
tool.
As best I can tell, due to a bug in partclone-utils it's not actually possible to mount an NTFS filesystem for both partclone v1 images, and partclone v2 images. The imagemount command returns success, but trying to mount the /dev/nbd1 device produces an error such as:
Launched in daemon mode: All logging output being written to the system log.
Failed to read last sector (4030): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/nbd1': Invalid argument
The device '/dev/nbd1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
mount reported error
I have raised this bug with the upstream project partclone utils ticket #3, but since you're the author of the partclone image format v2 support in partclone-util's imagemount
I think you (and any users cloning or forking this repository) may be interested.
I guess it makes sense to keep the bulk of the discussion on partclone utils ticket #3. I've created Sourceforge Merge Request #5 to provide a reproducible test case.
I'm hoping you might have some insights that could save me time, but if not I will try and debug it myself.
Also, you may be interested in checking out Sourceforge Merge Request #6, there were two other independent implementations of mounting partclone image format v2, each apparently not knowing about the others.
I'm trying to mount a Clonezilla image using this tool. I think this should be possible, as Clonezilla uses partclone under the hood. As Clonezilla breaks the image into chunks and compresses them, I've used cat ./my-backup/sda2.ntfs-ptcl-img.gz.* | gunzip > sda2-partclone.img
to stitch the pieces back together before using imagemount. I then call imagemount -d /dev/nbd0 -f ./sda2-partclone.img -m ~/tmp -r -t ntfs
, but I get ./sda2-partclone.img: cannot verify: Invalid argument
as an error message.
I'm trying to mount a F2FS image:
/opt/partclone-utils/imagemount -v 100 -D -r -d /dev/nbd1 -f linus_home_FullBackup -m /mnt/home -t f2fs
I'm getting the following error:
F2FS-fs (nbd1): Magic Mismatch, valid(0xf2f52010) - read(0x1f2f520)
F2FS-fs (nbd1): Can't find valid F2FS filesystem in 1th superblock
partclone.chkimg returns success on the image file:
# partclone.chkimg -s /srv/backup/linus/normal/2019-08-27/linus_home_FullBackup
Partclone v0.3.12 http://partclone.org
Starting to check image (/srv/backup/linus/normal/2019-08-27/linus_home_FullBackup)
Calculating bitmap... Please wait...
done!
File system: F2FS
Device size: 21.5 GB = 5242880 Blocks
Space in use: 7.3 GB = 1772032 Blocks
Free Space: 14.2 GB = 3470848 Blocks
Block size: 4096 Byte
Elapsed: 00:00:18, Remaining: 00:00:00, Completed: 100.00%, Rate: 24.18GB/min,
current block: 3812156, total block: 5242880, Complete: 100.00%
Total Time: 00:00:18, Ave. Rate: 24.2GB/min, 100.00% completed!
Partclone successfully checked the image (/srv/backup/linus/normal/2019-08-27/linus_home_FullBackup)
Checked successfully.
Converting the image to a raw image file and mounting via loop works:
# partclone.restore -s linus_home_FullBackup --restore_raw_file -o linus_home_FullBackup.img
# mount -o loop -t f2fs linus_home_FullBackup.img /mnt/home
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.