If that is not reason enough well the guide for this laptop going back to first launch has always been to disable hibernate due to data corruption. The XPS line has been notorious for that and many people have suffered data corruption.
Oh I see. Yeah, that explains it
I also had an issue with hibernate wiping my partitions all the time about a year ago. It was on my desktop and was related with nvram not working, which was resulting same hibernate image loading again and again (producing filesystem corruption). I've asked slice to implement data loss protection in clover, particularly preventing same hibernate image loading more than once. It was implemented, hibernate image currently will only try loading once (whenever it succeeds or fails). Since then I had zero issues with data loss. But XPS has hardware NVRAM, so whatever problem people were having, it was a different problem.
It is possible to get hibernation working on some hardware, but is tricky and most will fail.
As long as
- APFS is not used
- NVRAM is working
- HibernationFixup is used
It just works in most cases I've tried, at least on High Sierra. Sometimes you need to add -hbfx-patch-pci boot argument but that's it. And XPS doesn't even need -hbfx-patch-pci. Maybe I was just lucky with my hardware choices.
Plus, since my systems have SSD, I do not want hibernation at all. I don't think it is a good idea to write GBs of data to my SSD on every sleep cycle (several, perhaps 10s, times per day). I disable it on Windows too.
There is an app for that, called SmartSleep, it dynamically switches between sleep modes based on battery level.
So when your battery is above (let's say) 20%, laptop will use regular sleep, and will not write anything to disk.
When there is not much battery left, it will switch to hibernate automatically and will prevent data loss on sleeping longer than battery allows. Btw, I had much more data loss on unsaved documents not surviving sleeping through drained battery, than on hibernate destroying filesystem.
As we know hibernate takes everything in RAM and writes it to your hard drive. SSD and NVME have limited writes before EOL.
I filled my RAM with 18GB data, went to hibernate, booted from a different drive, and checked sleep image size.
It was just 1GB.
Code:
XPS-9560:vm dmatora$ du -sh *
1,0G sleepimage
1,0G swapfile0
1,0G swapfile1
1,0G swapfile2
To ensure it's not just resuming regular sleep from RAM, I filled my RAM with 18GB data again, hibernated, removed RAM, powered on laptop, powered it off, inserted RAM (yet swapped memory sticks their places) and resumed from hibernate within 2 seconds. XPS is one of the few machines where this trick works (not on Mojave). Don't ask me how.