I am trying to make an ISO of a Windows Backup disc that I "burned" to my microSD card, which I did in desperation due to lack of HDD storage at the time. Now I want to get it out of there and onto the HDD again as an ISO file, instead of a partition as it originally was.
I have tried to do what I think should be sufficient but has been doubting due to Windows telling me the ISO is corrupt. So, what I did:
First I did a lot of calculating, adding sums and whatever to get the final sector, but then I realised I can just get the sector by running fdisk and getting the end sector of the partition I want, which is 1 in this case, and add 1, to get that index since I read somewhere that it is necessary (tried without as well but it failed, hence looking it up):
[~]: sudo fdisk /dev/sdc [sudo] password for simon: Welcome to fdisk (util-linux 2.26.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdc: 29.8 GiB, 32009355264 bytes, 62518272 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x1e6e3d4a Device Boot Start End Sectors Size Id Type /dev/sdc1 * 2048 25671679 25669632 12.2G c W95 FAT32 (LBA) Command (m for help):
The partition starts at 2048 and ends at 25671679, which gives me the count for dd to be 25671680. My dd command will then be, given a sector size of 512 (also given above):
[img]: sudo dd if=/dev/sdc of=WindowsBackupDisk.iso bs=512 count=25671680 25671680+0 records in 25671680+0 records out 13143900160 bytes (13 GB) copied, 158.92 s, 82.7 MB/s
Running this command should give me a file with a size of the sum of the partition and the MBR. If I were to have more partitions, I would have just used the end sector of the last one that I wanted to include, right?
I wanted to do this because I have this on a 32GB microSD card I wish to use for something else. However, when going into Windows I try to mount it in order to verify it's integrity but it does not work. Is this because Windows can't read the format of a raw ISO like this or is it because it is corrupt?
Running file on the ISO gives me:
[img]: file WindowsBackupDisk.iso WindowsBackupDisk.iso: DOS/MBR boot sector MS-MBR Windows 7 english at offset 0x163 "Invalid partition table" at offset 0x17b "Error loading operating system" at offset 0x19a "Missing operating system", disk signature 0x1e6e3d4a; partition 1 : ID=0xc, active, start-CHS (0x0,32,33), end-CHS (0x3ff,254,63), startsector 2048, 25669632 sectors
What can I do to make sure that it is readable in my Windows OS? I would prefer to not install MagicISO or such programs on my Windows because I thought I could do it in Linux, but if it is the only solution then I'd like to know why so I can take this as a lesson.
Mounting partition 1:
[img]: sudo mount -o loop,offset=1048576 -t vfat WindowsBackupDisk.iso /mnt/tmp/ [sudo] password for simon: [img]: ls /mnt/tmp/ boot bootmgr bootmgr.efi efi reagent.xml sources System Volume Information