PC unbootable after capture fails
This is what I’m doing:
- Deploy a working Win7 image to my test PC
- Uninstall some apps. Install others. Delete some files.
- Create a new image and capture it.
It takes a while to resize partitions, etc., so I walk away and do other work. When I came back, I saw an error, but I was just to late to read it before it rebooted. There were no files in
/images/dev/<MAC>, but the folder was created. This makes me think the capture failed before partclone even started.
It automatically tries again on reboot, because the task still exists in the FOG system. Then I get this error:
I can’t run chkdsk /f on Windows, because Windows doesn’t boot after this. It just reboots forever. No F8 menu, nothing.
I checked folder permissions, NFS and FTP. I also tried installing TinyCoreLinux on another test PC and capturing that. It worked. Deploying also works.
I’m deploying my previous Win7 image once again in the hope that I don’t lose my work a third time.
- Are the errors from the capture/deploy tasks logged somewhere? Or are they forever lost if I miss the 1 minute gap?
- Can I make the 1 minute gap longer?
- Could we somehow make the system safer, so that capturing the image does not destroy it? I’ve never had problems with CloneZilla destroying my images. I’d make backups using CloneZilla, but it takes so much time…
- Is there any way to fix the partition without booting Windows? I tried with a GParted live CD, and it gives me the exact same error:
Thank you for looking at this issue! I will try out the new code and report back.
I’ve updated the base code for the inits.
@dolf, I think we had the right approach, I just limited the calls for checks uninentionally.
If you look at the link I posted, you’ll see what I’ve added. Basically we had the "If target_size < device_size, and all the good suggestions you made.
We even had the elements that checked for success/fail etc…
However, I’ve added code in an attempt to more suitably test this. I will double check for more things just to ensure things are a bit better hashed out.
Please re-run the installer and the inits will have the modified code.
Can you provide what you mean by “Gparted stops before destroying the disk, fog should also?”
I have tests in place that test if it’s possible, though I’ll admit it doesn’t tell me if the disk will be “destroyed”.
Basically, if you can show what command gparted is using to know if the disk will be destroyed or not. I can try implementing a solution based on what we know already works.
I’m going to try some tests at home involving very full disks.
I have some old Sata disks on the shelf that are very small in capacity, That should be plenty easy to fill up or nearly full - in order to not deal with a huge disk and huge data.
I’ll report back on what I find.
To find out what exactly caused this we need the exact error message from when it happens (resize…?)!
The take-home message is still: GParted stops before destroying the disk. FOG should do the same.
As far as I can see, resizing the partition is not necessary for capturing images with partclone, even when restoring to a smaller drive.
I don’t think this is true.
You can try using a tool called
testdiskwhich might be able to fix the MFT issue for you. To find out what exactly caused this we need the exact error message from when it happens (resize…?)!
Windows 7 Enterprise. I don’t know what is special about this image. The problem started after installing a bunch of large software packages on the master image. Fragmentation was less than 1%.
It fails when trying to resize the partition, as described in previous posts. When doing the same thing with CloneZilla, it works. The fixed-size option in FOG also works, because it doesn’t try to resize the partition. As far as I can see, resizing the partition is not necessary for capturing images with partclone, even when restoring to a smaller drive. You might as well remove that step from the capturing process, which will speed things up significantly.
So now I just capture it into a temporary image using the “fixed size” option, and then move the files manually to an image which is configured as “resizable”.
mint mint # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 100M 0 part └─sda2 8:2 0 232.8G 0 part sdb 8:16 1 7.5G 0 disk /cdrom ├─sdb1 8:17 1 1.6G 0 part └─sdb2 8:18 1 2.3M 0 part sr0 11:0 1 1024M 0 rom loop0 7:0 0 1.5G 1 loop /rofs
mint mint # fdisk -l Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 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: 0x95d3684b Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT /dev/sda2 206848 488396799 488189952 232.8G 7 HPFS/NTFS/exFAT
mint mint # lspci 00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04) 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4) 00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4) 00:1f.0 ISA bridge: Intel Corporation Q67 Express Chipset Family LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 04) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
I omitted the RAM drives and /dev/sdb, since I was booting from a LinuxMint USB drive.
@dolf Can we recap what’s going on?
You have a Windows 7 (pro, home, enterprise?) image already, it is resizable.
You deploy this, and update the deployed machine.
You then recapture.
And it fails to recapture?
All of my images at work are resizable, and often we will deploy them, update them, and re-capture them without issue. We did this with Windows 7, Windows 8.1, and now with Windows 10.
What’s special about your image?
Boot into linux somehow on a computer that has your image deployed to it’s disk. You can either use a FOG debug deploy task or just any live Linux disk.
Give us the output of these commands once you do:
This problem persists in 1.3.0-RC-11.
I’m still experiencing this problem. Running trunk these days. However, I have found another workaround to upload resizable images:
- Capture a non-resizable image
- Make a resizable image, and copy the files manually from the non-resizable image
- Create these files manually:
Just contains “:1”
I make the minimum size of the resizable partition quite a bit larger than the uncompressed size of
Can check this with
gzip -l d1p2.img
It works. Therefore it seems that resizing the partition before and after capturing with
partclone.ntfsis not necessary, even for resizable images.
Or does it? I just started from scratch on a new image with a new HDD, and I’m having the same problem… MFT gets corrupted. I’ll do some more thorough tests when I have time.
And the truth comes out. :-)
I didn’t defrag, but I analyzed the fragmentation, and it reported
However, last night the hard disk of the PC I originally used to develop this image started acting up.
chkdsk /R /F /V /Xon reboot returned no error or bad sectors, but the DELL
Pre-boot System Assessmentreports that the HDD has
Error Code 2000-0142. I couldn’t find what that code means, other than that the HDD has
failed. I think it’s probably a problem with the HDD’s electronics, rather than the disk surface, because the diagnostic utility only took a minute, so it obviously didn’t scan the disk surface. I’m replacing the disk now, to check.
I would tend to think that those “massive” files you’re talking about just didn’t have the room to be shifted around with the target being 2GB free. Defragging before uploading could solve that - and make your image perform better too.
To add further, the part where it’s talking about shifting the data on the drive in a strange format the MFT segments are being moved around and possible extend partial bits to beyond the partition layout. Or so I believe, I don’t really know, but it would leave some understanding as to why a slightly larger partition layout would work.
@dolf Was the system defragged before it was uploaded?
I ask because: … http://tuxera.com/forum/viewtopic.php?f=2&t=31012
I don’t know if this was/is the case, just may be worth a shot?
Just to show that it does work if you make the wiggle room a tad (where tad=4GB) bigger: gparted_details_70GB.htm
That’s using the same “broken” image. Everything works perfectly on that image, so I wouldn’t really call it broken.
chkdskagrees with me. It does, however, contain massive software packages with millions of files.
I know it’s a long thread, but here it is: https://forums.fogproject.org/topic/8059/pc-unbootable-after-capture-fails/10
Another thing comes to mind as well.
FOG Does run some math to calculate the smallest size of the partition plus a little more (wiggle room if you will). I may need to see an upload again using debug and at the point it’s testing (once complete) break out and see what is showing for the ntfsresize variable.
lsblk and fdisk -l would also, possibly, be extremely helpful as well (before AND after).