Windows 8.1 "Dirty Bit" in UEFI
-
@ch3i said:
Have you try in debug mode a
ntfsfix /dev/your_windows_partition
? It’s an idea, not sure that’s solve the problem…I’ll reproduce the problem and try this.
-
@Wayne-Workman Hi, did you have time to test ?
-
@ch3i Not yet, thank you for reminding me. I’ll try to do it today. I actually need to.
-
@Wayne-Workman
Thank you for the Article.
A few months ago we bought dell laptops and I was using WDS for deployment and it worked perfect with HP and Win7 computers.
When I deployed win8.1 to these DELL machines I had to stop using WDS 2012 R2.(endless errors) Deleted WDS COMPLETELY OFF the network.
Since then IM leveraging Open source technology on levels of DEVOPS.
My point is now I have an answer for my UEFI deployment issues. Thank you once again -
@Wayne-Workman said:
@ch3i Not yet, thank you for reminding me. I’ll try to do it today. I actually need to.
Hi @Wayne-Workman, I’ve tested it on a Windows 8.1 with “Fast Startup”, it’s functional. Could-you test it to confirm my result ? If it’s OK, it would be interesting to add it to FOG upload process.
-
@ch3i Trying it now.
-
@ch3i Is it just me, or does the “Fast Startup” checkbox vanish after it’s disabled for others too?
-
@Wayne-Workman said:
@ch3i Is it just me, or does the “Fast Startup” checkbox vanish after it’s disabled for others too?
So, you must run
powercfg.exe -H on
for the “Fast Startup” option to even show up. -
This is with Fast Startup and Hibernation turned on.
-
@Wayne-Workman said:
This is with Fast Startup and Hibernation turned on.
I’ll try that :
ntfs-3g -o remove_hiberfile /dev/sdaX /tmp/mount_point
to remove the hibernate file. -
mkdir /mnt/tmp ntfs-3g -o remove_hiberfile /dev/sda4 /mnt/tmp umount /mnt/tmp ntfsfix /dev/sda4
That says it succeeded, but then NFS failed to mount during the
fog
command… gah… trying again. -
@Wayne-Workman said:
mkdir /mnt/tmp ntfs-3g -o remove_hiberfile /dev/sda4 /mnt/tmp umount /mnt/tmp ntfsfix /dev/sda4
That says it succeeded, but then NFS failed to mount during the
fog
command… gah… trying again.I think this has to be done for all the partitions for it to work right… Because now I’m getting errors about mounting
/dev/sda1
during the FOG command. I’m testing now. -
@Wayne-Workman Hi, There is a function in func.sh (in the init) to remove pagefile and hiberfile :
# $1 is the device name of the windows system partition removePageFile() { local part="$1"; local fstype=""; if [ "$part" != "" ]; then fstype=`fsTypeSetting $part` fi if [ "$fstype" != "ntfs" ]; then echo " * No ntfs file system on ($part) to remove page file" debugPause; elif [[ "$osid" == +([1-2]|[5-7]|9|50) ]]; then if [ "$ignorepg" == "1" ]; then dots "Mounting partition ($part)"; mkdir /ntfs &>/dev/null; ntfs-3g -o force,rw $part /ntfs; if [ "$?" == "0" ]; then echo "Done"; debugPause; dots "Removing page file"; if [ -f "/ntfs/pagefile.sys" ]; then rm -f "/ntfs/pagefile.sys" >/dev/null 2>&1; echo "Done"; else echo "No pagefile found"; fi debugPause; dots "Removing hibernate file"; if [ -f "/ntfs/hiberfil.sys" ]; then rm -f "/ntfs/hiberfil.sys" >/dev/null 2>&1; echo "Done"; else echo "No hibernate found"; fi resetFlag "$part"; umount /ntfs; else echo "Failed"; fi debugPause; fi fi }
And ntfsfix too :
# $1 is the part resetFlag() { if [ -n "$1" ]; then fstype=`blkid -po udev $1 | awk -F= /FS_TYPE=/'{print $2}'`; if [ "$fstype" == "ntfs" ]; then dots "Clearing ntfs flag"; ntfsfix -b -d $1 &>/dev/null; echo "Done"; debugPause; fi fi }
Not sure if the two functions are used during upload process, @Developers ?
-
As far as I can see in the fog.upload script those two functions are only used with image type set to resizable.
-
@Uncle-Frank said:
As far as I can see in the fog.upload script those two functions are only used with image type set to resizable.
I think we have to enable it on each upload resizable or not.
-
@ch3i How would I use those functions from CLI?
I suppose I can make a bash script during debug and call those functions to run, then run ntfsfix on all the partitions in the same script.
-
@Wayne-Workman said:
@ch3i How would I use those functions from CLI?
I suppose I can make a bash script during debug and call those functions to run, then run ntfsfix on all the partitions in the same script.
You can modify the fog.upload to call these scripts before uploading.
-
@ch3i said:
@Wayne-Workman Hi, There is a function in func.sh (in the init) to remove pagefile and hiberfile :
# $1 is the device name of the windows system partition removePageFile() { local part="$1"; local fstype=""; if [ "$part" != "" ]; then fstype=`fsTypeSetting $part` fi if [ "$fstype" != "ntfs" ]; then echo " * No ntfs file system on ($part) to remove page file" debugPause; elif [[ "$osid" == +([1-2]|[5-7]|9|50) ]]; then if [ "$ignorepg" == "1" ]; then dots "Mounting partition ($part)"; mkdir /ntfs &>/dev/null; ntfs-3g -o force,rw $part /ntfs; if [ "$?" == "0" ]; then echo "Done"; debugPause; dots "Removing page file"; if [ -f "/ntfs/pagefile.sys" ]; then rm -f "/ntfs/pagefile.sys" >/dev/null 2>&1; echo "Done"; else echo "No pagefile found"; fi debugPause; dots "Removing hibernate file"; if [ -f "/ntfs/hiberfil.sys" ]; then rm -f "/ntfs/hiberfil.sys" >/dev/null 2>&1; echo "Done"; else echo "No hibernate found"; fi resetFlag "$part"; umount /ntfs; else echo "Failed"; fi debugPause; fi fi }
And ntfsfix too :
# $1 is the part resetFlag() { if [ -n "$1" ]; then fstype=`blkid -po udev $1 | awk -F= /FS_TYPE=/'{print $2}'`; if [ "$fstype" == "ntfs" ]; then dots "Clearing ntfs flag"; ntfsfix -b -d $1 &>/dev/null; echo "Done"; debugPause; fi fi }
Not sure if the two functions are used during upload process, @Developers ?
@Uncle-Frank stated that these two functions are called for resizable image types. Resizeable is the image type I’m using for this…
So that means these two functions are either running and failing on
/dev/sda4
, or not running at all, or not running at the correct time. -
We are talking about upload, right? See here yourself: https://github.com/FOGProject/fogproject/blob/c796b1ab68e2215ea60e6ef33c732bd5a475501e/src/buildroot/package/fog/scripts/bin/fog.upload#L120 (removePageFile which is called before schrinking)
and
https://github.com/FOGProject/fogproject/blob/c796b1ab68e2215ea60e6ef33c732bd5a475501e/src/buildroot/package/fog/scripts/bin/fog.upload#L174 (resetFlag which is called aftershrinking) -
Old thread - new news.
Had this error show up when uploading from an EliteBook 8730w with Win10 on it.
While I was digging up the commands in the wiki to fix it, when the laptop rebooted on it’s own (due to error), it began uploading!
How strange?