Date: Tue, 15 Nov 2005 23:22:05 +0100
From: Philip Nienhuis <[EMAIL PROTECTED]>
Subject: Re: [LIB] Libretto HD Upgrade - Hibernation Area - Questions and
Outline

[EMAIL PROTECTED] wrote:
Date: Tue, 15 Nov 2005 14:34:09 -0600 (CST)
From: [EMAIL PROTECTED]
Subject: Libretto HD Upgrade - Hibernation Area - Questions and Outline

Hello Everyone...

I have a few questions/ideas relative to hibernation on the Libretto 110CT.

I understand that BIOS Hibernation on the Libretto is unable to see a drive larger than 8.4 gig. I also understand that BIOS Hibernation can not be completely disabled on the Libretto. My understanding is that Libretto BIOS Hibernation can be executed completely independently of the OS. Thermally or via detection of low battery are the two ways individuals from this website have stated.

Procedure: Duplication of Windows 98 from a single partition 20gig drive to a 100gig Toshiba Drive. With two issues. Issue 1. Leaving the BIOS Hibernation space around the 8.4gig area of the drive, between partitions one and two.
Issue 2.  Preservation of my current full Windows Installation.
No overlay necessary or used.
Basically I want to do a hard drive upgrade with partition split AND "space" to accommodate the hibernation area around the 8.4Gig area of the drive.

These are my questions...

Question 1.  How does the Libretto decide "where" to put the hibernation area.

example: Go to end of HDD (or as much as it can see 8.4) and write the contents backwards or just back up and start to write towards the end? (direction likely doesn't make difference)

John:

Just a hunch: it writes towards the end. The difference *does* make a difference: Speed. Writing (& reading) backwards is terribly inefficient.

Hibernation proceeds as follows:
1. Hibernation routine requests disk size from BIOS HD size routine
2. BIOS HD size routine cheats a bit, and gives an answer which leaves sufficient space for hibernation to anyone who's asking. The size of the cheat depends on another BIOS routine, i.e. the one which returns RAM size 3. Hibernation routine knows about the cheat and begins writing the RAM image starting at the next sector beyond the reported HD size.

Now, not only does the BIOS HD size routine cheat, it also contains the 8 GB bug. Yes confusing, but these are two different things (see below for more).

BTW one thing is sure: the hibernation "image" is one contiguous "file" (i.e., no holes or gaps in it).


example:  Go to end of partition and write hibernation data?

Question 2. I do not have a utility to examine the hard drive data to locate the cylinders where hibernation is being written, though I have seen were several have done just that. There is ONE 20Gig partition on my current working drive.

So... Does anyone see why the following installation would not work.

Just a hint in advance: clearly state what MB type you mean: "digital" (= base 10.24, formally called MiB) or SI (base 10.0). Makes quite a difference once in the GB realms.

Other than that, I suppose the setup below should be OK.

a. Put Original (20Gig Toshiba) HDD and new HDD (100Gig Toshiba) into a desktop computer with modern BIOS to correctly see all of both hard drives.

b. Booted from OnTrack Disk Manager floppy disk. Defined the three following partitions with OnTrack Disk Manager on the Toshiba 100Gig Drive.
7.9GB (Boot and Windows Drive)
500MB  (For spacer)
91MB (or to end of visible drive)
Note: I chose 500 meg to space the beginning of the 91MB partition theoretically outside where the Libretto BIOS Hibernation routines can see.

c. Rebooted into Windows Safe Mode from Boot Menu of Functional 20Gig Drive, which contains my original Working Windows Partition with configuration and data trimmed below 8gig. Opened a DOS Box and executed XClone program to duplicate the only partition on HDD 1, C: (20 gig drive) onto the first partition (7.9gig) of HDD2. (Although not documented, while XClone doesn't work in DOS, it does work in Windows Safe Mode... or more accurately, I have used it in Windows Safe Mode several times with no issues. I have never had any failure with XClone)

d. Loaded Fdisk and deleted the 500MB partition of HDD 2 between the 7.9GB and 91GB partitions. I realize this should not be necessary, but I chose to do it anyway just to simulate "space" at the end of my partition. Also keep it from accidentally being formatted or used in some way.

Status: No problems at this time. As stated above, I do not know how to verify if it is hibernating in the area I left blank. Although I have read the archives, I do not know or have any of the utilities described to locate the hibernation data.

Any suggestions that anyone cares to offer about this installation would be appreciated.

I would do it (and have done it several times) this way:
1. Put 100 GB HD in Libretto. Do not use Ontrack or EZ-drive or whatever, delete/deinstall it. 2. Use DOS FDISK to make the biggest primary partition possible. This way, the hibernation area starts immediately (and safely) beyond this partition, and you have the real maximum possible size primary partition available on Librettos 110CT.
3. Make the primary partition active (bootable) using FDISK.
4. Put the 100 GB HD in your desktop.
5. Format the primary partition FAT32 (happens much faster in your desktop), and copy the whole Win98SE installation onto it from your 20 GB drive using whatever tool you like. 6. With the 100 GB HD still in the desktop, use DOS FDISK to make an extended partition, occupying the rest of the HD (~90 GB). 7. Make a first logical partition of 100 MB (D:). This will be the future hibernation area. 8. Assign the rest of the extended partition to a logical partition (E: ~90 GB), or to whatever logical partitions you see fit. 9. Now delete partition D: Then you'll have an empty hibernation area. Partition E:'s drive letter will become D: 10. Format the big 90 GB logical partition (initially E:, now D:) or whatever logical partitions you made - happens faster in your desktop than in the slow Libretto.
11. Put the 100 GB HD back in your Libretto.
12. Enjoy.
Remember to do all additional partitioning IN YOUR DESKTOP, NOT in the Libretto.


I like David Chien's idea of putting an immovable file at the hibernation space. Problem of course is how to get it at the right location in the first place (no pun intended). Once you've got it there it's a matter of attrib +r +s +h <filename> and it's immovable.


Anyway, as regards hibernation you might find some info on my Windows web page handy:

   http://home.hccnet.nl/pr.nienhuis/Windows.html#HD%3E8.4GB

(sorry, another long read, and a bit outdated here and there)

or even Wilm Bockey's in-depth analysis of the whole thing:

   http://bockey.ipcon.de/MB_DOS/LDS100CT.HTM

(Another long read. But: Bockey sorted out the whole thing in extreme detail. If you read his story well, you'll find that the 8 GB limit in the Lib's BIOS is not so much related to the well-known maximum of 1024 cylinders known from many other ancient PC's, but rather to an unexpected maximum of 2^14 cylinders (CHS values) returned by the Libretto's int13 extensions. It's a mere coincidence that this number boils down to about 8 GB, and so might lead to confusion with the 8 GB/1024 cylinder limit imposed by absence of int13 extensions on other PCs. Indeed, BIOS hibernation on large HDs in the Libretto leads to dumping memory *beyond* the 1024 cyl. limit.

BTW fixing the 2^14 value in the Lib's BIOS to a full two bytes width (2^16) would merely introduce the next HD size barrier: 32 GB. That would be the Lib's "native" HD size limit, if the stupid 8 GB bug would not be present.)

Good luck,

Philip


Reply via email to