You are not logged in.
I have a Hp desktop equipped with 2 HDD, one for windows7, the other for Chimera.
My windows 7 boot partition has run into problem and can't boot. I would like to reinstall win7 but want to backup the windows boot partition to an external USB hard drive first. how do I copy the entirely of windows partition to external USB drive from Chimera?
thanks
Last edited by erdos (2023-04-02 23:32:00)
Offline
How long is a piece of string?
There are about 50 bazillion ways to copy a partition, starting with a dead simple 'cp' of the files or 'dd' to an image file...
Personally I quite like the flexibility and features of clonezilla, but it all depends what kind of backup you want - just the files, a full disk image with the boot sectors and all that jazz, or a bitwise clone to another disk?
Last edited by steve_v (2023-04-01 18:19:54)
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Offline
The best way to copy partitions that I know of, is to load a linux live distro and plug in a huge fast SSD Flash Drive or Portable SSD Drive to a usb 3.0, if you want this to not take forever,and then use dd to copy it.
dd if=/dev/sdX of=/media/sdY/your.qcow2 bs=10M status=progress
the X is the location of the windows partition and the Y is the drive where you want to put the image on. qcow2 doesn't need to be the type of format you want. It has to be mounted though.
I have done this many times when I break my installation and I need to clone back to get my OS back to normal.
Thankfully, this is usually not hard at all.
Though you might need a lot of space for this to work. Though, it might still be a fast transition, it depends how you intend to do this.
If you are using 4th gen or newer, this won't take too long even if its a bloody terrabyte or more.
As an obvious, make sure you aren't reckless about dd.
If nothing else, you could also use this as a further preventative measure to protect yourself from a crash if your operating system updates something and it breaks, you will now have a fallback option.
Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Peace Be With us All!
Offline
I suggest the same as zapper says above. Well worth the time.
pic from 1993, new guitar day.
Offline
I use Partimage: https://www.partimage.org/
Offline
You only need your actual/personal data, so use a 'live' Linux pendrive to copy it to a USB drive, (formatted as NTFS would probably be best, for re use/re installing by/to Windows partition.
Offline
'partition' and 'drive' seem a bit mixed-up. To see what you have:
$ lsblk
Offline
dd if=/dev/sdX of=/media/sdY/your.qcow2 bs=10M status=progress
I suggest the same as zapper says above. Well worth the time.
dd is simple, but it's also pretty slow as it'll copy everything, including empty blocks.
load a linux live distro
use a 'live' Linux pendrive
There's no need for a live distro here, regardless of the method used.
Just make the windows partition is not mounted and you can do it from Devuan (as the OP requested). dd is of course available by default, and partimage and clonezilla (which includes partimage) are in the repos.
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Offline
The best way to copy partitions that I know of, is to load a linux live distro and plug in a huge fast SSD Flash Drive or Portable SSD Drive to a usb 3.0, if you want this to not take forever,and then use dd to copy it.
dd if=/dev/sdX of=/media/sdY/your.qcow2 bs=10M status=progress
thank you! I used above command to backup my windows partition C on external drive. Works perfect!
I reinstalled windows 7 onto the partition #1 in hard disk #1 (/dev/sda1), now how do i restore the qcow2 image on my external drive to this partition?
erdos@htpc-devuan:~/Downloads/m64py-0.2.5$ sudo fdisk -l
[sudo] password for erdos:
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000AAKS-6
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: 0x1549f232[/c]
[c]Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 204812287 204810240 97.7G 7 HPFS/NTFS/exFAT
/dev/sda2 204812685 309670262 104857578 50G a5 FreeBSD
/dev/sda3 309861721 953151487 643289767 306.7G f W95 Ext'd (LBA)
/dev/sda4 953152515 976768064 23615550 11.3G 7 HPFS/NTFS/exFAT
/dev/sda5 309861784 953151487 643289704 306.7G 7 HPFS/NTFS/exFAT[/c]
[c]Partition table entries are not in disk order.[/c]
[c]Disk /dev/sdb: 55.9 GiB, 60022480896 bytes, 117231408 sectors
Disk model: Corsair Force LS
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: 0x287905c2[/c]
[c]Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 39063551 39061504 18.6G 83 Linux
/dev/sdb2 39065598 117229567 78163970 37.3G 5 Extended
/dev/sdb5 39065600 113283071 74217472 35.4G 83 Linux
/dev/sdb6 113285120 117229567 3944448 1.9G 82 Linux swap / Solaris
Last edited by erdos (2023-04-02 23:33:33)
Offline
There's no need for a live distro here, regardless of the method used.
Just make the windows partition is not mounted and you can do it from Devuan (as the OP requested). dd is of course available by default, and partimage and clonezilla (which includes partimage) are in the repos.
how do I copy the entirely of windows partition to external USB drive from Chimera?
I don't use Chimera, so using a 'live' Linux pendrive would be safest, in my opinion....
....how ever, it seems that they used 'dd', & now want to restore their files, so will have to 'mount' that 'disk image' to get at them.....
OP should really have just copied them to an external drive!
Last edited by Camtaf (2023-04-03 08:56:13)
Offline
OP should really have just copied them to an external drive!
Or, ya know, answered the question I posed in the very first reply WRT what kind of backup they wanted. Vague questions beget suboptimal answers, what else is new.
@OP: "Restoring" a dd disk image is simply reversing the dd command, and will return the disk to the exact state it was in when you imaged it (broken windows install included). However this is likely not what you want.
To restore files from the image you will first need to mount it as a loopback filesystem.
Assuming it's a raw disk image (i.e the ".qcow" extension is irrelevant and qemu is not involved), you want something like 'mount -o loop,offset=[offset of the partition you want] [image file] [mountpoint]', or 'losetup --partscan --find [image file]' to find the partitions for you and create device nodes you can mount like any other filesystem.
Examples of several approaches here, among other places easily found with a web search.
If you want accurate advice, please be accurate WRT to partitions, disks, filesystems, and most importantly, your end-goal. As Camtaf said, this would have been easier if we had known you wanted to restore your files rather than the entire disk.
Last edited by steve_v (2023-04-03 11:18:13)
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Offline
If you want accurate advice, please be accurate WRT to partitions, disks, filesystems, and most importantly, your end-goal. As Camtaf said, this would have been easier if we had known you wanted to restore your files rather than the entire disk.
thank you for the reply!
It turned out that my windows partition failed to boot because incorrect SATA settings in BIOS. I changed bios setting for Sata controller mode from 'RAID' to 'AHCI' during adding a SSD to use devuan. that rendered windows partition unbootable. Now after reinstall windows, I had it fixed by changing windows registry in 'IDE' mode to support 'AHCI' mode for dual boot with Devuan.
Fortunately I made a disk copy of my previous windows partition with everything on it. I can launch 'qcow2' image in VM to recover those installed apps.
Offline
@steve its not as slow as you think if you connect to a port with usb 3.0+ and are using SSD or better.
Btw, it is actually possible to disk clone from SSD to qcow2 image on a usb storage drive like onto this:
/media/sdb/files
Not even on just doing /dev/sdb directly, but putting it in the partition itself as a qcow2.
I love that this is possible as a final edit!
@erdos Glad it helped, I do this a lot, because I use a testing version of Hyperbola. I have done this with Devuan as well though.
Btw, I actually suggested you copy them to a usb drive just to be safe. If I thought copying to a different partition within it, I would have suggested it. I didn't because that might cause a can of worms.
Glad you listened to that part and yeah, steve is correct, reversing it was what I was suggesting.
Although, as steve also mentioned, if you wanted to restore files, a better option would have been available.
Funny thing, btw I use partimage afterwards! @GlennW mentioned partimage so I thought I would respond.
I actually have had to resize my installs from time to time when I do something foolish, so I usually end up doing the following:
I have a Hyperbola install that is light, like less than 150GB, with the stuff I want more or less.
Then I copy to /dev/sda, in emergencies and IF I know the image is RIGHT one.
Then I load a devuan persistent install via portable ssd and then finally I do what is needed to reclaim space via cfdisk /dev/sda
Then finally, once I have done the other steps to get it running properly, which I forget due to it being on a different laptop.
I'll modify this post later, but once its been added to the point where I can use lvm to add it to the partitions, at that point, I load the normal OS and do the last step via lvmextend.
If this sounds like a huge massive amount of work, it is.
You will have less steps probably due using Devuan and not Hyperbola.
That being said, I like DIY distros like Hyperbola.
Its not like Arch which breaks a lot but it also is still DIY.
Anywho, glad to be useful for once.
If you ever are concerned about losing your files very badly, that command you used will be a good fallback.
As long as you keep it both safe and on usbs that aren't likely to fail.
Rant over...
Last edited by zapper (2023-04-04 06:37:16)
Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Peace Be With us All!
Offline
Why the hell do you make everything so complex? How in the world did qcow2 get in here?
This makes a copy of your Windows partition to your usb drive or whatever:
dd if=/dev/sda1 of=/yourusbdrive/win7backup
Then you mount your backup:
mount /yourusbdrive/win7backup /mnt
And copy all your stuff from /mnt to your new Windows install. No need for virtual machines or any of this crap.
Offline
Why the hell do you make everything so complex? How in the world did qcow2 get in here?
This makes a copy of your Windows partition to your usb drive or whatever:
dd if=/dev/sda1 of=/yourusbdrive/win7backup
Then you mount your backup:
mount /yourusbdrive/win7backup /mnt
And copy all your stuff from /mnt to your new Windows install. No need for virtual machines or any of this crap.
This is true, but having a backup isn't a bad idea just in case.
Freedom is never more than one generation away from extinction. Feelings are not facts
If you wish to be humbled, try to exalt yourself long term If you wish to be exalted, try to humble yourself long term
Favourite operating systems: Hyperbola Devuan OpenBSD
Peace Be With us All!
Offline
Hi guys
I need help to restore the windows image I created back to my HDD.
My backup image is on /media/erdos/easystore/Backup/, and I tried to restore to first partition of HDD #1, identified by devuan as /dev/sda1, devuan is on /dev/sdb
error received running dd command:
erdos@htpc-devuan:/etc/samba$ sudo dd if=/media/erdos/easystore/Backup/HP.qcow2 of=/dev/sda1 bs=10M status=progress
[sudo] password for erdos:
104857600000 bytes (105 GB, 98 GiB) copied, 2935 s, 35.7 MB/s
dd: error writing '/dev/sda1': No space left on device
10000+1 records in
10000+0 records out
104862842880 bytes (105 GB, 98 GiB) copied, 2936.54 s, 35.7 MB/s
You have new mail in /var/mail/erdos
erdos@htpc-devuan:/etc/samba$
afterwards, I reboot my machine, but windows won't boot, throwing error, returning to devuan and output of 'fdisk', HDD #1 now shows up as on '/dev/sdb' instead of /dev/sda
erdos@htpc-devuan:/etc/grub.d$ sudo fdisk -l
[sudo] password for erdos:
Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000AAKS-6
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: 0x1549f232
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 204812287 204810240 97.7G 7 HPFS/NTFS/exFAT
/dev/sdb2 204812685 309670262 104857578 50G a5 FreeBSD
/dev/sdb3 309861721 953151487 643289767 306.7G f W95 Ext'd (LBA)
/dev/sdb4 953152515 976768064 23615550 11.3G 7 HPFS/NTFS/exFAT
/dev/sdb5 309861784 953151487 643289704 306.7G 7 HPFS/NTFS/exFAT
Partition table entries are not in disk order.
Disk /dev/sda: 55.9 GiB, 60022480896 bytes, 117231408 sectors
Disk model: Corsair Force LS
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: 0x287905c2
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39063551 39061504 18.6G 83 Linux
/dev/sda2 39065598 117229567 78163970 37.3G 5 Extended
/dev/sda5 39065600 113283071 74217472 35.4G 83 Linux
/dev/sda6 113285120 117229567 3944448 1.9G 82 Linux swap / Solaris
Disk /dev/sdh: 12.73 TiB, 14000519643136 bytes, 27344764928 sectors
Disk model: easystore 264D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B0F4FD99-AACA-4B97-BBF2-A3E7661D0DF4
Device Start End Sectors Size Type
/dev/sdh1 2048 27344762879 27344760832 12.7T Microsoft basic data
when I tried to mount windows system partition to /dev/sdb1,
erdos@htpc-devuan:/etc/grub.d$ sudo mount -t ntfs /dev/sdb1 /mnt
Failed to read last sector (204812620): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdb1': Invalid argument
The device '/dev/sdb1' 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?
I can mount the backup image without issue
erdos@htpc-devuan:/etc/grub.d$ sudo mount '/media/erdos/easystore/Backup/HP.qcow2' /mnt
[sudo] password for erdos:
erdos@htpc-devuan:/etc/grub.d$ ls /mnt
'$Recycle.Bin' BOOTSECT.BAK 'Documents and Settings' img2-001.raw 'Linksys Driver' PerfLogs 'Program Files (x86)' TightVNC Windows
Boot Brother hiberfil.sys inetpub MSOCache ProgramData Recovery Users
bootmgr Config.Msi hp INSTALLHELPER.LOG pagefile.sys 'Program Files' 'System Volume Information' WebMapCache
erdos@htpc-devuan:/etc/grub.d$ ls -l /mnt
total 3351397
drwxrwxrwx 1 root root 4096 Jul 22 2015 '$Recycle.Bin'
drwxrwxrwx 1 root root 4096 May 24 2013 Boot
-rwxrwxrwx 1 root root 383786 Nov 20 2010 bootmgr
-rwxrwxrwx 1 root root 8192 Oct 19 2012 BOOTSECT.BAK
drwxrwxrwx 1 root root 0 Jan 31 2015 Brother
drwxrwxrwx 1 root root 0 May 18 2019 Config.Msi
lrwxrwxrwx 2 root root 10 Jul 14 2009 'Documents and Settings' -> /mnt/Users
-rwxrwxrwx 1 root root 3220664320 May 22 2019 hiberfil.sys
drwxrwxrwx 1 root root 4096 Jan 8 2009 hp
-rwxrwxrwx 1 root root 921624 Mar 28 2016 img2-001.raw
drwxrwxrwx 1 root root 0 Jul 24 2015 inetpub
-rwxrwxrwx 2 root root 112 Jun 23 2012 INSTALLHELPER.LOG
drwxrwxrwx 1 root root 0 Jul 10 2009 'Linksys Driver'
drwxrwxrwx 1 root root 0 Jul 17 2009 MSOCache
-rwxrwxrwx 1 root root 209715200 May 21 2019 pagefile.sys
drwxrwxrwx 1 root root 0 Jul 13 2009 PerfLogs
drwxrwxrwx 1 root root 12288 Nov 23 2018 ProgramData
drwxrwxrwx 1 root root 8192 Oct 10 2016 'Program Files'
drwxrwxrwx 1 root root 20480 Oct 10 2016 'Program Files (x86)'
drwxrwxrwx 1 root root 0 Oct 19 2012 Recovery
drwxrwxrwx 1 root root 28672 Aug 23 2016 'System Volume Information'
drwxrwxrwx 1 root root 0 Sep 18 2012 TightVNC
drwxrwxrwx 1 root root 4096 Jul 30 2015 Users
drwxrwxrwx 1 root root 4096 May 10 2016 WebMapCache
drwxrwxrwx 1 root root 40960 Jan 22 2019 Windows
erdos@htpc-devuan:/etc/grub.d$
please advise
Last edited by erdos (2023-04-08 14:32:21)
Offline
Just thinking about the error messages - not a solution, to many assuptions! And probably unreadeable anyway.
tl;dr: Summery of the text below is: The last 5MB were (might) not written back to /dev/sdb1.
dd error:
Sizes of partition and disk-image:
The partition size of /dev/sdb1 by fdisk output: 204810240 Sectors * 512 Byte/Sector = 104862842880 Byte
The partition size of /dev/sdb1 divided in blocks of 10M is "10000.5" (echo 204810240*512/1024/1024/10 | bc -l). Block count in dd is not supposed to be a fractional number!Assumed behavior of dd during image creation: It read 10001 whole blocks. EDIT: WRONG at this point - the rest are follow-up errors!
Resulting image-file size then is: 10001 * 10M = 104868085760 byte (or 5MB bigger than /dev/sdb1). Please confirm or report the actual size of HP.qcow2.
This would cause the error when restoring.
dd parameters can be tuned to restore without an error:
(half block size and doubled block count result in integer numbers and the size of /dev/sdb1)
dd if=/media/erdos/easystore/Backup/HP.qcow2 of=/dev/sdb1 bs=5M count=20001 status=progress
Unclear behaviour of dd in case of fractional blocks:
dd error: "10000+0 records out" may mean the last "half" block is not written at all (5MB less than size of /dev/sdb1)
dd error: "104862842880 bytes (105 GB, 98 GiB) copied" which is the size of /dev/sdb1.
On my system, I would try re-write only the last 5MB of the partition:
This would be fast compared to rewriting the whole 100GB. But I'm not 100% sure about the offset!
dd if=/media/erdos/easystore/Backup/HP.qcow2 of=/dev/sdb1 bs=5M seek=20000 skip=20000 count=1
PS: Warning
All numbers may be wrong.
Don't do anything of the above you don't understand.
Mistakes incorporating dd can be very very harmful.
Last edited by delgado (2023-04-16 09:23:02)
Offline
thanks for the reply!
The size of backup image file HP.qcow2:
97.7 GiB (104,864,062,464 bytes)
and to answer the earlier question of hard drive disk /partition info
erdos@htpc-devuan:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 55.9G 0 disk
├─sda1 8:1 0 18.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 35.4G 0 part /home
└─sda6 8:6 0 1.9G 0 part [SWAP]
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 97.7G 0 part
├─sdb2 8:18 0 50G 0 part
├─sdb3 8:19 0 1K 0 part
├─sdb4 8:20 0 11.3G 0 part
├─sdb5 8:21 0 306.7G 0 part
├─sdb6 8:22 0 48G 0 part
└─sdb7 8:23 0 2G 0 part
sdg 8:96 0 12.7T 0 disk
└─sdg1 8:97 0 12.7T 0 part /media/erdos/easystore
sr0 11:0 1 3.1G 0 rom
You have new mail in /var/mail/erdos
Offline
Thanks for posting the file size.
Testing:
Just dd'ed a small 100M partition using bs=13M to have a "fractional block count". Sizes of image-file and device are equal. Also tried dd with "bs=15M" and "bs=512", and pure cat. All image files are identical. On daedalus and on chimaera. No errors at all during creation and restore.
The main question is now:
Why is the image-file (104864062464 bytes) bigger than the partiton (104862842880 bytes)? How is this possible?
The partititon must have been shrinked after creating the backup image.
I don't see any other possibility.
EDIT:
fdisk -lbefore the reinstalltion of windows would be informative.
Older (windows-)partition schema start at sector 63 (not sector 2048) and there is a gap of 398 sectors (or 0.2 MB) between sda1 and sda2. This is 1.2 MB potential addional space for sda1. The image file is 1.1 MB bigger than sda1.
Last edited by delgado (2023-04-16 09:06:01)
Offline
Finally a suggestion:
The image file is working (mountable) and the target device is a bit smaller the image itself.
The solution is simple and straight forward: Resize the image to fit the device.
Get some information:
ntfsresize -i HP.qcow2
ntfsresize works directly on the device or image file, a copy is recommended. The last command expands the filesystem to partiton size.
cp HP.qcow2 HP.shrinkme.img
ntfsresize -s 97G HP.shrinkme.img
sudo dd if=HP.shrinkme.img of=/dev/sda1 bs=10M
sudo ntfsresize -x /dev/sda1
And it should be done.
Alternatively:
Grow /dev/sda1 to fit HP.qcow2.
Offline
Thanks!
to answer the size of image file doesn't match the size of partition: I attempted to install a fresh copy of win7 onto the same partition using win7 installation DVD, during the process, I deleted and recreated the windows partition at same location, not sure whether this leads to the partition change.
edit: attached screenshots when I installed fresh win7 onto the HDD, one showing the result of chkdsk on original partition when backup with 'dd' was done, the other shows the partition info during installation.
https://flic.kr/p/2ov6AMk
https://flic.kr/p/2ov7Hgg
here's the result of running commands as described, it doesn't seem the image was resized (i.e. as show wih 'ls -l') even thought it reports success, the restoring of the image file still results error.
erdos@htpc-devuan:/media/erdos/easystore/Backup$ ls -l
total 204812644
drwxrwxrwx 1 erdos erdos 0 Apr 1 23:17 Config.Msi
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 2 00:48 HP.qcow2
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 18 21:07 HP.shrinkme.img
drwxrwxrwx 1 erdos erdos 20480 Apr 1 23:24 Windows
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo ntfsresize -s 97G HP.shrinkme.img
[sudo] password for erdos:
ntfsresize v2017.3.23AR.3 (libntfs-3g)
Device name : HP.shrinkme.img
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 104864059904 bytes (104865 MB)
Current device size: 104864062464 bytes (104865 MB)
New volume size : 96999997952 bytes (97000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 71757 MB (68.4%)
Collecting resizing constraints ...
Needed relocations : 838839 (3436 MB)
WARNING: Every sanity check passed and only the dangerous operations left.
Make sure that important data has been backed up! Power outage or computer
crash may result major data loss!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device 'HP.shrinkme.img'.
You can go on to shrink the device for example with Linux fdisk.
IMPORTANT: When recreating the partition, make sure that you
1) create it at the same disk sector (use sector as the unit!)
2) create it with the same partition type (usually 7, HPFS/NTFS)
3) do not make it smaller than the new NTFS filesystem size
4) set the bootable flag for the partition if it existed before
Otherwise you won't be able to access NTFS or can't boot from the disk!
If you make a mistake and don't have a partition table backup then you
can recover the partition table by TestDisk or Parted's rescue mode.
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo fdisk -l
Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000AAKS-6
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: 0x1549f232
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 204812287 204810240 97.7G 7 HPFS/NTFS/exFAT
/dev/sdb2 204812685 309670262 104857578 50G a5 FreeBSD
/dev/sdb3 309861721 953151487 643289767 306.7G f W95 Ext'd (LBA)
/dev/sdb4 953152515 976768064 23615550 11.3G 7 HPFS/NTFS/exFAT
/dev/sdb5 309861784 953151487 643289704 306.7G 7 HPFS/NTFS/exFAT
Partition table entries are not in disk order.
Disk /dev/sda: 55.9 GiB, 60022480896 bytes, 117231408 sectors
Disk model: Corsair Force LS
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: 0x287905c2
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39063551 39061504 18.6G 83 Linux
/dev/sda2 39065598 117229567 78163970 37.3G 5 Extended
/dev/sda5 39065600 113283071 74217472 35.4G 83 Linux
/dev/sda6 113285120 117229567 3944448 1.9G 82 Linux swap / Solaris
Disk /dev/sdg: 12.73 TiB, 14000519643136 bytes, 27344764928 sectors
Disk model: easystore 264D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B0F4FD99-AACA-4B97-BBF2-A3E7661D0DF4
Device Start End Sectors Size Type
/dev/sdg1 2048 27344762879 27344760832 12.7T Microsoft basic data
erdos@htpc-devuan:/media/erdos/easystore/Backup$ ls -l
total 204812644
drwxrwxrwx 1 erdos erdos 0 Apr 1 23:17 Config.Msi
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 2 00:48 HP.qcow2
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 22 07:53 HP.shrinkme.img
drwxrwxrwx 1 erdos erdos 20480 Apr 1 23:24 Windows
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo dd if=HP.shrinkme.img of=/dev/sdb1 bs=10M
dd: error writing '/dev/sdb1': No space left on device
10000+1 records in
10000+0 records out
104862842880 bytes (105 GB, 98 GiB) copied, 2967.54 s, 35.3 MB/s
You have new mail in /var/mail/erdos
erdos@htpc-devuan:/media/erdos/easystore/Backup$
Last edited by erdos (2023-04-22 20:50:19)
Offline
it doesn't seem the image was resized (...), the restoring of the image file still results error.
I did not know that the size of the image file would be the same, sorry.
However. The file system in the image file has become smaller. The last 7 GB are present, but unused by now - df will tell.
$ sudo mount -o loop HP.shrinkme.img /mnt
$ df
The error at restore using dd should not matter here. If you really want to be sure and write it again:
$ sudo ntfsclone -f -o /dev/sdb1 HP.shrinkme.img
The file system should be in a mountable condition. Probably it isn't ... .
Did you try to mount /dev/sdb1 ?
If you want back the shrinked 7GB HDD space, you still need to:
$ sudo ntfsresize -x /dev/sdb1
I deleted and recreated the windows partition at same location, not sure whether this leads to the partition change.
HDD situation:
There is the "master boot record" (mbr) and "partition start sector 2048" from the new installation, and the file system from the old installation (different mbr and "partition start sector 63") to fit the image size to the HDD space. I'm not aware of all implicit issues.
The disk itself will likely not boot. grub form the other disk may or may not be able to help ($ sudo update-grub).
Does the first version of the win7-install-cd the start-at-sector-63 partitioning? Think so, but not 100% sure. Probably, if you have such a install-cd, it may recreate the partition as before.
I'm not used to read chkdsk output.
Or just use the new installation and copy back all the files form the mounted image.
Offline
I was able to mount both shrinked image file and /dev/sdb1 successfully, resize of the shrinked image is not successfully, after updating grub menu, I tried to boot windows, but only got a blank screen with blinking cursor at top left corner. Rebooted with win7 DVD disc, it doesn't detect win7 installation on the HDD.
Then I remembered the sata controller setting, I entered Bios and changed the setting for sata to 'IDE' from 'AHCI' and used windows 7 DVD disk to boot again, this time bootable disc sees windows 7 installation on hdd, and reported error and prompted for repair, accepted the repair and rebooted, still couldn't past the blinking cursor screen.
thanks for the advice and help! Next I will probably use DVD bootable disc to see if i could repair the restored win and reboot it.
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo mount -o loop HP.shrinkme.img /mnt
[sudo] password for erdos:
erdos@htpc-devuan:/media/erdos/easystore/Backup$ ls -l
total 204812644
drwxrwxrwx 1 erdos erdos 0 Apr 1 23:17 Config.Msi
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 2 00:48 HP.qcow2
-rwxrwxrwx 1 erdos erdos 104864062464 Apr 22 07:53 HP.shrinkme.img
drwxrwxrwx 1 erdos erdos 20480 Apr 1 23:24 Windows
erdos@htpc-devuan:/media/erdos/easystore/Backup$ df -h
df: /run/user/1000/doc: Operation not permitted
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 394M 2.6M 391M 1% /run
/dev/sda1 19G 6.4G 11G 37% /
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.2G 0 1.2G 0% /dev/shm
/dev/sda5 35G 28G 5.8G 83% /home
tmpfs 394M 792K 393M 1% /run/user/1000
/dev/sdg1 13T 207G 13T 2% /media/erdos/easystore
/dev/loop0 91G 67G 24G 74% /mnt
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo umount /mnt
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo mount -t ntfs /dev/sdb1 /mnt
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo umount /mnt
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo ntfsresize -x /dev/sdb1
ntfsresize v2017.3.23AR.3 (libntfs-3g)
ERROR: Could not get the old volume parameters from the backup bootsector
erdos@htpc-devuan:/media/erdos/easystore/Backup$ sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/desktop-base/grub-themes/desktop-grub-theme/theme.txt
Found linux image: /boot/vmlinuz-5.10.0-9-amd64
Found initrd image: /boot/initrd.img-5.10.0-9-amd64
Found linux image: /boot/vmlinuz-4.19.0-9-amd64
Found initrd image: /boot/initrd.img-4.19.0-9-amd64
Found Windows 7 on /dev/sdb1
Found FreeBSD 12.2-RELEASE-p12 on /dev/sdb2
Found Windows Vista on /dev/sdb4
Found FreeBSD 12.2-RELEASE-p12 on /dev/sdb6
done
Offline