After several power outages, my SDD crashed and I have to recover my Umbrel node. In order to proceed, I need a way to recover my wallet. I hope I will then also be able to successfully restore my LN channels because that also fails now. I think I have tried all options I could find online, but did not succeed. Below details from my attempts using a Linux laptop and a ssh session to the Umbrel node.
Start: Several power outages: System service failed
External storage service logs indicate external SDD can’t be mounted:
- mount: /mnt/data: can’t read superblock on /dev/sda1
- The unit umbrel-external-storage.service has entered the ‘failed’ state with result ‘exit-code’.
- Jul 23 19:25:52 umbrel systemd: Failed to start External Storage Mounter.
Fix 1: Repair external SDD
Connect SDD to Linux laptop and repair with fdisk and parted following https://www.linuxbabe.com/desktop-linux/fix-cant-read-superblock-error.
It turned out the SDD superblock could not be read but it could be recovered.
Issue 2: Failed to start containers
After starting the Umbrel node with a repaired SDD the containers failed to start.
Same result after booting the Umbrel node with a new flashed SD-card.
Tried several scenarios from getumbrel with no success, a.o. https://community.getumbrel.com/t/error-failed-to-start-containers/4704/4
Start with new SDD drive and old SD-card
- Install Bitcoin and Lightning Node
Issue 3: No option to recover / use my LN seed!
In order to speed up Bitcoin sync:
- copy Bitcoin chain data from old SDD (blocks, chainstate and indexes folders from /media/USER/umbrel/umbrel/app-data/bitcoin/data/bitcoin,) to new SDD: /mnt/data/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet/.
Attempt 1: Reset user data and create new wallet (failed)
First backup seed and user files:
cp ~/umbrel/db/user.json ~/backup/user.json
cp ~/umbrel/db/umbrel-seed/seed ~/backup/seed
cp /mnt/data/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet/channel.backup ~/backup/channel.backup
- Reset user data with
sudo systemctl stop umbrel-startup && sudo rm -rf ~/mnt/data/umbrel/app-data/lightning/data/lnd/!(lnd.conf) && sudo rm ~/umbrel/db/user.json && sudo rm ~/umbrel/db/umbrel-seed/seed && sudo systemctl start umbrel-startup
After restarting the node, installing Bitcoin and Lightning node, there is still no option to recover my wallet.
Attempt 2: Use lncli to create new wallet (failed)
Delete existing wallet on Umbrel
sudo systemctl stop umbrel-startup
mv /mnt/data/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet /mnt/data/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet-old
sudo systemctl start umbrel-startup
Start the on-chain recovery, follow the sub step “Starting On-Chain Recovery” of this guide
./scripts/app compose lightning exec lnd lncli create
-> does not work, these error messages return on consecutive attempts:
- [lncli] rpc error: code = Unknown desc = wallet already exists
- [lncli] rpc error: code = Unknown desc = wallet already unlocked, WalletUnlocker service is no longer available
Issue 4: Channel restore fails
Method 4: Install Zap wallet and recover wallet with Bitcoin seed: https://zaphq.io/download
There is no option here to see or recover my channels so I have to proceed with my Umbrel node…
Rescue on-chain balance
Copy backup file:
scp [LOCAL DIRECTORY]/channel.backup email@example.com:/home/umbrel/umbrel/cb/channel-all.bak
docker-compose exec lnd lncli restorechanbackup --multi_file /data/.lnd/channel.backup
Check status with
./scripts/app compose lightning exec lnd lncli pendingchannelsreturns no pending channels.
./scripts/app compose lightning exec lnd lncli getinfoshows no existing channels.