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.
Troubleshoot history
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[1]: 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.
No fix
Tried several scenarios from getumbrel with no success, a.o. http://community.umbrel.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
Restore wallet
Following http://community.umbrel.com/t/how-to-restore-your-node-wallet/3602
Method 4: Install Zap wallet and recover wallet with Bitcoin seed: Better money
There is no option here to see or recover my channels so I have to proceed with my Umbrel nodeā¦
Rescue on-chain balance
Following https://github.com/guggero/chantools#channel-recovery-scenario
Restore Channels
Copy backup file:
scp [LOCAL DIRECTORY]/channel.backup umbrel@umbrel.local:/home/umbrel/umbrel/cb/channel-all.bak
Recover funds:
cd $wherever_you_installed_umbrel
docker-compose exec lnd lncli restorechanbackup --multi_file /data/.lnd/channel.backup
Check status with
./scripts/app compose lightning exec lnd lncli pendingchannels
returns no pending channels.
./scripts/app compose lightning exec lnd lncli getinfo
shows no existing channels.