Comments (17)
I haven't gotten around to actually implement the extend mapping (see issue #4), so for your block size (16KiB), you can restore files of up to ~15KiB in size. I know that this is not too useful yet, but I do have some experimental code lying around that deals with the full file extent data and have already used it to restore a few files I cared about from another "hopeless" image :) -- If #4 is done, you'll be able to restore files of any size.
The cool thing about the metadata index this tool uses, is that it should also be able to "undelete" files from a live disk. In limited cases, it's even possible to go back in time and view the whole disk at an earlier stage.
from btrfscue.
Hi @5ay3h,
Thanks for the report. It has been a while since I touched the project (lack of time, sadly). I will take a look at this, haven't seen this so far (maybe tomorrow evening CEST).
Cheers, Christian
from btrfscue.
A shame the very same error still appears with the latest version.
I have no idea if that tool would have helped me recovering a few files anyway. If I knew it will, I would pay for it...
from btrfscue.
Yeah, I didn't have any spare time to work on this yet. I advice you to keep an image of the drive on file (no pun intended), so you can try with a future version.
Don't worry about paying anyone, this tool is supposed to remain free :)
from btrfscue.
+1 have same problem
from btrfscue.
Care to try again? The latest commits should (fingers crossed) fix one such issue.
from btrfscue.
Good job! Sadly I have already begun full wipe off the affected discs before sending them to a friend. I'll keep in mind to try the unfixed version of I need to try recover in the future to see if it's fixed.
from btrfscue.
from btrfscue.
Ok, pinging again later. If you try it out, you can use the mount
to mount a read-only view of your damaged filesystem using FUSE.
That makes it convenient to assess the potential for data recovery.
from btrfscue.
from btrfscue.
Hmm, that's odd, I just tried this and it worked:
$ git clone --recurse-submodules https://github.com/cblichmann/btrfscue.git .
$ make
[Build] /home/cblichmann/devel/btrfscue/bin/btrfscue
from btrfscue.
strange, I removed and started over one more time and now it compiles perfectly again. I'll try again now with the recon and see if it works better now with my second failed btrfs disk set :/
from btrfscue.
I just tried it out and it seems to fail with same error:
1 markus@staropramen ~/btrfscue/bin (git)-[master] % sudo ./btrfscue identify /dev/sda
[sudo] password for markus:
5455 / 97675 [==>--------------------------------------------------] 5.58% 11 63 6939 / 97675 [===>------------------------------------------------] 7.10%
97675 / 97675 [================================================] 100.00% 12m34s
fsid count entropy block size
1fbb3b74-20d8-4c5c-9302-db5e6dfbd21b 45 4.000000 16384
a13d8d31-f12f-448f-b63c-9d44c29d1042 17 3.750000 16384
01000000-0200-0000-0100-000002000000 7 1.061278 0
sudo ./btrfscue identify /dev/sda 1.91s user 7.86s system 1% cpu 12:39.66 total
1 markus@staropramen ~/btrfscue/bin (git)-[master] % sudo ./btrfscue recon --id
1fbb3b74-20d8-4c5c-9302-db5e6dfbd21b --metadata metadata_sda.db /dev/sda
2.00 GB / 3.64 TB [>----------------------------------------------] 0.05% 11s
panic: runtime error: slice bounds out of range
goroutine 1 [running]:
blichmann.eu/code/btrfscue/btrfs.Leaf.Data(0xc0000c4000, 0x1000, 0x1000, 0x0, 0xfffffffffffffff6, 0x80114080, 0x70890a6000)
/home/markus/btrfscue/src/blichmann.eu/code/btrfscue/btrfs/leaf.go:129 +0xf6
main.(*reconCommand).Run(0xc0000b0020, 0xc00008a060, 0x1, 0x1)
/home/markus/btrfscue/src/blichmann.eu/code/btrfscue/recon.go:120 +0x598
blichmann.eu/code/btrfscue/subcommand.(*CommandSet).Run(0xc000094000, 0xc00008a060, 0x1, 0x1)
/home/markus/btrfscue/src/blichmann.eu/code/btrfscue/subcommand/subcommand.go:147 +0x52
blichmann.eu/code/btrfscue/subcommand.Run()
/home/markus/btrfscue/src/blichmann.eu/code/btrfscue/subcommand/subcommand.go:173 +0x48
main.main()
/home/markus/btrfscue/src/blichmann.eu/code/btrfscue/btrfscue.go:123 +0x174
from btrfscue.
After playing around with newer BTRFS images, I have a test case that reproduces this now.
from btrfscue.
from btrfscue.
Alright, I have backups on my most important data but there are some Plex server settings files I want to find so I don't have to redo my setup.
Do you have a branch with the test code for #4 ? Restoring bigger files are indeed an interesting feature. Have you poked the btrfs mailing list for any assistance on getting it running?
Perhaps the official recover program can be called with some parameters to avoid duplication of effort.
Being able to undelete files can Indeed be a really cool feature.
I have a raid1 with three discs, 4GiB, 3GiB, and 1GiB respectively. It would be neat to be able to use metadata from all discs if one copy is defective.
from btrfscue.
It works !
(Sorry for the long delay.)
GJ mate
now if we will just be able to recover all the files (with metadata), we could finally open the champagnes
from btrfscue.
Related Issues (10)
- recon crash
- Help for using btrfscue to undelete some files
- 6 GB metadata.db but no files? :-( HOT 13
- Show TravisCI build status prominently in README.md HOT 1
- Implement handling of non-inline file extents HOT 11
- Support multiple devices (BTRFS RAID modes)
- Implement decompression
- btrfscue: no device file given, only inline file data will be visible HOT 1
- btrfscue should perform cross-validation of fs entities
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from btrfscue.