Samozřejmě že jsem se o obnovu pokoušel pod sudo.
Stejně je ta chybová hláška podivná, indikuje spíš problém z přístupem na cílové zařízení a ne s tím imagem, co jste si vytvořil. V tomhle případě dd nemůže zapsat na cílové zařízení, opravdu tam nemáte z toho disku nějaký připojený filesystém, nebo něco jiného, co by to mohlo blokovat?
Mělo by tam jít zapsat víceméně odkudkoliv třeba klidně náhodná data.
Např. pokud bych tomu chtěl přijít na kloub a nešlo by mi o ty data (stejně bych to smazal), tak bych ještě vyzkoušel třeba
sudo dd if=/dev/urandom of=/dev/sd-něco bs=1M count=50 oflag=direct
Pokud projde pokusný zápis 50M, tak byste měl být schopen zapsat i tu rozbalenou image. Try harder
Jinak i kdyby to nešlo, tak není všem dnům konec i s tou konfigurací. Jestli ještě máte tu image, tak by se měla dát připojit na Linuxu přes loop.
Je to trochu manuální job, ale zas to může být docela zábavné na hraní a třeba i v budoucnu pokud budete někdy zachraňovat data.
Nejdřív se musí zjistit, kde začíná a končí ten nějvětší root oodíl s UFS v imagi. Počítám třeba, že je tam GPT rozložení a pomůžu si přes sfdisk.
sfdisk -d /tmp/bsd-disk-image
To by mělo vypsat tabulku rozložení oddílů, hledáme ten největší. V jeho řádku bude kde začíná (offset) a jak je dlouhý. Oba údaje jsou v sektorech (512 B). Takže si obě získaná čísla postupně vynásobím 512, abych získal výsledek v bajtech, které budeme potřebovat později.
Ovladač pro UFS v Linuxu existuje, ale např. v OpenSUSE (používám Tumbleweed) je blacklistovaný a nezavede se automaticky podle potřeby.
Takže se musí zavést manuálně pomocí: sudo modprobe ufs
Zeptá se to, jestli chcete permanentně zrušit blacklist, což nebude třeba.
Až se modul zavede, tak když se pak pro kontrolu spustí: grep ufs /proc/filesystems tak by to mělo vypsat řádek s ufs.
Nakonec bychom mohli zkusit připojit UFS oddíl do nějakého připravené pomocného mountpointu, třeba /mnt/tmp
sudo mount -t ufs -o ufstype=ufs2,loop,offset=20000000,sizelimit=100000000,ro /tmp/bsd-disk-image /mnt/tmp
Volba loop zařídí, že se připojí image. Do voleb offset a sizelimit napíšete offset a délku z sfdisk přepočtenou na bajty.
A nakonec ufstype=ufs2 je potřeba, aby modul věděl jakou verzi UFS používáte. Moderní FreeBSD používá UFS2.
Nakonec je volba ro, nebude třeba do toho zapisovat.
Až to bude připojené, tak ten config.xml by měl být v podadresáři /conf
Po zkopírování standardně odpojit sudo umount /mnt/tmp
Používám jak Linux, tak FreeBSD a tohle by mělo normálně fungovat. Teoreticky by se to mohlo to zjišťování offsetu zkomplikovat, pokud se místo GPT použije BSD disklabel, ale i to by mělo jít rozklíčovat.