Mount:a en .iso-fil i Ubuntu (.iso-filen är en backup av ett SD-kort från RPi)

Permalänk
Medlem

Mount:a en .iso-fil i Ubuntu (.iso-filen är en backup av ett SD-kort från RPi)

Jag är tyvärr en väldig nybörjare på Linux. Jag har sedan tidigare haft som backup-lösning att göra en kopia av mitt 16GB SD-kort som suttit i en Raspberry Pi. Jag kommer inte ihåg exakta argumenten som användes för att göra backupen, men ungefär så här:

sudo dd if=/dev/sdXX of=~/sd-card-copy.img

Detta skapade en .iso-fil som jag har sparat på en NAS.

Nu vill jag försöka komma åt några filer som låg på SD-kortet och tänkte det var smidigt att göra via Linux. Jag har en övervakningsserver som kör Ubuntu server som jag har kopierat .iso-filen till. Sedan använder jag följande kommando för att försöka mount:a .iso-filen:

sudo mount -o loop /home/feddan/raspberryPiSDCardBackup.img /home/feddan/isomount

Men jag får följande fel:

Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' 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?

Gör jag något felaktigt?

Visa signatur

7 tycker jag.

Permalänk
Medlem
Skrivet av GodZilly:

Jag är tyvärr en väldig nybörjare på Linux. Jag har sedan tidigare haft som backup-lösning att göra en kopia av mitt 16GB SD-kort som suttit i en Raspberry Pi. Jag kommer inte ihåg exakta argumenten som användes för att göra backupen, men ungefär så här:

sudo dd if=/dev/sdXX of=~/sd-card-copy.img

Detta skapade en .iso-fil som jag har sparat på en NAS.

Nu vill jag försöka komma åt några filer som låg på SD-kortet och tänkte det var smidigt att göra via Linux. Jag har en övervakningsserver som kör Ubuntu server som jag har kopierat .iso-filen till. Sedan använder jag följande kommando för att försöka mount:a .iso-filen:

sudo mount -o loop /home/feddan/raspberryPiSDCardBackup.img /home/feddan/isomount

Men jag får följande fel:

Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' 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?

Gör jag något felaktigt?

Kan du posta output av detta?

file sd-card-copy.img

Visa signatur

got root?

Permalänk
Medlem

Troligtvis är felet här att du måste ange vilken partition i din iso-fil du vill montera.

Se de två översta svaren till följande fråga på askubuntu.

Permalänk
Medlem

@Gropenator:

Ja, men då måste han veta vilken sector paritionen börjar på.

Kör file på filen först så kan vi guida dig.

Visa signatur

got root?

Permalänk
Medlem
Skrivet av edroon:

Kan du posta output av detta?

file sd-card-copy.img

Ursäkta sent svar, jag försvann iväg på annat. Här kommer output:n:
raspberryPiSDCardBackup.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,130,3), end-CHS (0x5,210,42), startsector 8192, 85405 sectors; partition 2 : ID=0x83, start-CHS (0x1c0,0,1), end-CHS (0x27f,3,16), startsector 94208, 30224384 sectors

Visa signatur

7 tycker jag.

Permalänk
Medlem
Skrivet av GodZilly:

Ursäkta sent svar, jag försvann iväg på annat. Här kommer output:n:
raspberryPiSDCardBackup.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,130,3), end-CHS (0x5,210,42), startsector 8192, 85405 sectors; partition 2 : ID=0x83, start-CHS (0x1c0,0,1), end-CHS (0x27f,3,16), startsector 94208, 30224384 sectors

Vilken partition har du ddat? /dev/sda?

vi kan försöka ändå, kör:

mount -o ro,loop,offset=4194304 sd-card-copy.img /mnt/loop

sedan kör och posta output du får.

mount | grep sd-card-copy.img

Visa signatur

got root?

Permalänk
Medlem

Offset= till mount är bara krångligt. Kör
losetup --partscan --read-only --find raspberryPiSDCardBackup.img
så kommer kerneln själv hitta alla partitioner och visa dom under /dev/loop#p#. Använd sen mount på dom direkt.

Permalänk
Medlem
Skrivet av edroon:

Vilken partition har du ddat? /dev/sda?

vi kan försöka ändå, kör:

mount -o ro,loop,offset=4194304 sd-card-copy.img /mnt/loop

sedan kör och posta output du får.

mount | grep sd-card-copy.img

Jag tror det var /dev/sda men ska inte svära på det. Det står i ett shell-script som förhoppningsvis ligger på .iso-filen så lyckas jag mount:a den ordentligt så kan jag kolla!

sudo mount -o ro,loop,offset=4194304 raspberryPiSDCardBackup.img /home/feddan/isomount/

Lyckades mount:a något i alla fall :).

feddan@SurveillanceBox:~$ cd isomount/ feddan@SurveillanceBox:~/isomount$ ls bcm2708-rpi-0-w.dtb config.txt LICENCE.broadcom bcm2708-rpi-b.dtb COPYING.linux LICENSE.oracle bcm2708-rpi-b-plus.dtb fixup_cd.dat overlays bcm2708-rpi-cm.dtb fixup.dat start_cd.elf bcm2709-rpi-2-b.dtb fixup_db.dat start_db.elf bcm2710-rpi-3-b.dtb fixup_x.dat start.elf bcm2710-rpi-cm3.dtb issue.txt start_x.elf bootcode.bin kernel7.img System Volume Information cmdline.txt kernel.img

Dock hade jag förväntat mig att hitta /home/-katalogen, där jag hade flera shell-script som jag ville komma åt. Men det kanske ligger på den andra partitionen?

mount | grep sd-card-copy.img

Gav följande:

/home/feddan/raspberryPiSDCardBackup.img on /home/feddan/isomount type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Tack så hemskt mycket för all hjälpen så här långt! Det uppskattas verkligen!

Visa signatur

7 tycker jag.

Permalänk
Medlem
Skrivet av Emaku:

Offset= till mount är bara krångligt. Kör
losetup --partscan --read-only --find raspberryPiSDCardBackup.img
så kommer kerneln själv hitta alla partitioner och visa dom under /dev/loop#p#. Använd sen mount på dom direkt.

Då fick jag följande:

feddan@SurveillanceBox:~$ sudo losetup --partscan --read-only --find raspberryPiSDCardBackup.img feddan@SurveillanceBox:~$ cd /dev/ feddan@SurveillanceBox:/dev$ ls autofs loop4 tty10 tty47 ttyS24 block loop5 tty11 tty48 ttyS25 bsg loop6 tty12 tty49 ttyS26 btrfs-control loop7 tty13 tty5 ttyS27 bus loop-control tty14 tty50 ttyS28 char mapper tty15 tty51 ttyS29 console mcelog tty16 tty52 ttyS3 core mei0 tty17 tty53 ttyS30 cpu mem tty18 tty54 ttyS31 cpu_dma_latency memory_bandwidth tty19 tty55 ttyS4 cuse mqueue tty2 tty56 ttyS5 disk net tty20 tty57 ttyS6 dm-0 network_latency tty21 tty58 ttyS7 dm-1 network_throughput tty22 tty59 ttyS8 dri null tty23 tty6 ttyS9 drm_dp_aux1 parport0 tty24 tty60 uhid ecryptfs port tty25 tty61 uinput fb0 ppp tty26 tty62 urandom fd psaux tty27 tty63 userio full ptmx tty28 tty7 vcs fuse pts tty29 tty8 vcs1 hpet random tty3 tty9 vcs2 hugepages rfkill tty30 ttyprintk vcs3 hwrng rtc tty31 ttyS0 vcs4 i2c-0 rtc0 tty32 ttyS1 vcs5 i2c-1 sda tty33 ttyS10 vcs6 i2c-2 sda1 tty34 ttyS11 vcsa i2c-3 sda2 tty35 ttyS12 vcsa1 initctl sda3 tty36 ttyS13 vcsa2 input sg0 tty37 ttyS14 vcsa3 kmsg shm tty38 ttyS15 vcsa4 kvm snapshot tty39 ttyS16 vcsa5 lightnvm snd tty4 ttyS17 vcsa6 log stderr tty40 ttyS18 vfio loop0 stdin tty41 ttyS19 vga_arbiter loop1 stdout tty42 ttyS2 vhci loop1p1 SurveillanceBox-vg tty43 ttyS20 vhost-net loop1p2 tty tty44 ttyS21 zero loop2 tty0 tty45 ttyS22 loop3 tty1 tty46 ttyS23

Bild: https://www.dropbox.com/s/ge8va1ec8tabh2t/Putty_-_dev_content...

Att köra "sudo mount /dev/loop1p1 /home/feddan/isomount2/" på partition1 går bra och ger samma resultat som mount med offset. Men när jag försöker med partion2 så får jag följande:

sudo mount /dev/loop1p2 /home/feddan/isomount3/ mount: /dev/loop1p2 is write-protected, mounting read-only mount: cannot mount /dev/loop1p2 read-only

Visa signatur

7 tycker jag.

Permalänk
Medlem
Skrivet av GodZilly:

Jag tror det var /dev/sda men ska inte svära på det. Det står i ett shell-script som förhoppningsvis ligger på .iso-filen så lyckas jag mount:a den ordentligt så kan jag kolla!

sudo mount -o ro,loop,offset=4194304 raspberryPiSDCardBackup.img /home/feddan/isomount/

Lyckades mount:a något i alla fall :).

feddan@SurveillanceBox:~$ cd isomount/ feddan@SurveillanceBox:~/isomount$ ls bcm2708-rpi-0-w.dtb config.txt LICENCE.broadcom bcm2708-rpi-b.dtb COPYING.linux LICENSE.oracle bcm2708-rpi-b-plus.dtb fixup_cd.dat overlays bcm2708-rpi-cm.dtb fixup.dat start_cd.elf bcm2709-rpi-2-b.dtb fixup_db.dat start_db.elf bcm2710-rpi-3-b.dtb fixup_x.dat start.elf bcm2710-rpi-cm3.dtb issue.txt start_x.elf bootcode.bin kernel7.img System Volume Information cmdline.txt kernel.img

Dock hade jag förväntat mig att hitta /home/-katalogen, där jag hade flera shell-script som jag ville komma åt. Men det kanske ligger på den andra partitionen?

mount | grep sd-card-copy.img

Gav följande:

/home/feddan/raspberryPiSDCardBackup.img on /home/feddan/isomount type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Tack så hemskt mycket för all hjälpen så här långt! Det uppskattas verkligen!

ok, hur som helst det är ett vfat system.
Vi fortsätter och jag vill att du kör detta innan du börjar rota i det du lyckats mounta.

kör:

losetup --offset 4194304 /dev/loop2 sd-card-copy.img

sedan är det lika bra att reparera systemet för du får massor av konstiga felmeddelande. Kör:

fsck /dev/loop2

Sedan är det bara att mounta skiten:

mount /dev/loop2 /mnt/loop

Visa signatur

got root?

Permalänk
Medlem
Skrivet av edroon:

ok, hur som helst det är ett vfat system.
Vi fortsätter och jag vill att du kör detta innan du börjar rota i det du lyckats mounta.

kör:

losetup --offset 4194304 /dev/loop2 sd-card-copy.img

sedan är det lika bra att reparera systemet för du får massor av konstiga felmeddelande. Kör:

fsck /dev/loop2

Sedan är det bara att mounta skiten:

mount /dev/loop2 /mnt/loop

Här kör jag kommandona:

feddan@SurveillanceBox:~$ sudo losetup --offset 4194304 /dev/loop2 raspberryPiSDCardBackup.img feddan@SurveillanceBox:~$ sudo fsck /dev/loop2 fsck from util-linux 2.27.1 fsck.fat 3.0.28 (2015-05-16) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1 Perform changes ? (y/n) y /dev/loop2: 148 files, 42947/84059 clusters feddan@SurveillanceBox:~$ sudo mount /dev/loop2 /home/feddan/isomount4 feddan@SurveillanceBox:~$ cd isomount4 feddan@SurveillanceBox:~/isomount4$ ls bcm2708-rpi-0-w.dtb config.txt LICENCE.broadcom bcm2708-rpi-b.dtb COPYING.linux LICENSE.oracle bcm2708-rpi-b-plus.dtb fixup_cd.dat overlays bcm2708-rpi-cm.dtb fixup.dat start_cd.elf bcm2709-rpi-2-b.dtb fixup_db.dat start_db.elf bcm2710-rpi-3-b.dtb fixup_x.dat start.elf bcm2710-rpi-cm3.dtb issue.txt start_x.elf bootcode.bin kernel7.img System Volume Information cmdline.txt kernel.img

Men tyvärr känns det som resultatet blev detsamma som tidigare? Eller detta kanske bara var ett steg på vägen?

Visa signatur

7 tycker jag.

Permalänk
Medlem
Skrivet av Emaku:

Offset= till mount är bara krångligt. Kör
losetup --partscan --read-only --find raspberryPiSDCardBackup.img
så kommer kerneln själv hitta alla partitioner och visa dom under /dev/loop#p#. Använd sen mount på dom direkt.

såg inte denna men ja det går också.

Skrivet av GodZilly:

Här kör jag kommandona:

feddan@SurveillanceBox:~$ sudo losetup --offset 4194304 /dev/loop2 raspberryPiSDCardBackup.img feddan@SurveillanceBox:~$ sudo fsck /dev/loop2 fsck from util-linux 2.27.1 fsck.fat 3.0.28 (2015-05-16) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1 Perform changes ? (y/n) y /dev/loop2: 148 files, 42947/84059 clusters feddan@SurveillanceBox:~$ sudo mount /dev/loop2 /home/feddan/isomount4 feddan@SurveillanceBox:~$ cd isomount4 feddan@SurveillanceBox:~/isomount4$ ls bcm2708-rpi-0-w.dtb config.txt LICENCE.broadcom bcm2708-rpi-b.dtb COPYING.linux LICENSE.oracle bcm2708-rpi-b-plus.dtb fixup_cd.dat overlays bcm2708-rpi-cm.dtb fixup.dat start_cd.elf bcm2709-rpi-2-b.dtb fixup_db.dat start_db.elf bcm2710-rpi-3-b.dtb fixup_x.dat start.elf bcm2710-rpi-cm3.dtb issue.txt start_x.elf bootcode.bin kernel7.img System Volume Information cmdline.txt kernel.img

Men tyvärr känns det som resultatet blev detsamma som tidigare? Eller detta kanske bara var ett steg på vägen?

verkar som det är det du har i. Frågan är nog vad du ddade? /dev/sda?

Visa signatur

got root?

Permalänk
Medlem
Skrivet av edroon:

såg inte denna men ja det går också.

verkar som det är det du har i. Frågan är nog vad du ddade? /dev/sda?

Jag lyckades aldrig få ordning på det genom att mount:a .iso-filen men jag hade sen tidigare skrivit den till ett SD-kort, så jag testade att sätta i SD-kortet i Linux-datorn och då om jag mountade partition2 så kom jag åt filerna! Fantastiskt skönt! Stort tack för all hjälp ni bidragit med!

Nu när jag har tillgång till filerna så kan jag rapportera kommandot som användes för backupen:

sudo dd if=/dev/mmcblk0 of=/home/pi/myNAS/myShare/LinuxBackup/raspberryPiSDCardBackup.img

Det var alltså INTE /dev/sda som jag vilseledde med tidigare.

Visa signatur

7 tycker jag.