|
-
Does USB Legacy have a 137GB limit?
Let's be clear above a few points
(1) XP without Service Pack 2 cannot see a hard disk beyond 137Gb. That has nothing to do with USB but just using a newer method addressing the hard disk. That makes me think a driver of some sort is involved.
(2) We could connect a USB hard disk as large as 500Gb. I have one on USB too myself (for storing iso images) so there should be no 137Gb limitation on USB hard disk "as far as the operating system is concern". It is possible too the operating system does it because it has drivers. We know older Linux kernels could not support USB devices because they had no drivers.
In my case when Grub is loaded and before a Linux is booted Grub reports that it cannot load certain partitions in a USB Pata disk. The partitions are all at the rear end beyond the 137Gb barrier. The partitions before the 137Gb barrier have been read by Grub and booting process initiated.
The Pata disk is fact is a clone of an existing Sata sdb, both identically 200Gb large, which has 15 partitions 14 of which are bootable (the remaining one is the extended partition which cannot be booted) when working as an internal disk. After cloning I removed the Sata and plugged the Pata in as a USB disk inherited the sdb status.
Out of the 14 partitions the 4 at the end are beyond the 137 Gb barrier cannot be mounted, according to Grub. Only one out of 10 actually boots succesfully. Two were MS systems which do not boot from a USB deviceany way. The remainder has kernel panic and the common error is "not syncing". This is a brutal attempt of trying to boot Linux from a USB device when the distros were original installed in an insternal Sata. I was interested to see what would happen if I boot them from a USB hard disk, knowing the settings are transferrable.
It is noteworthy to point out Grub can mount up to 63 partitions and beyond 137GB in any Pata when it is an internal disk. If the same Pata disk is hooked as a USB hard disk it automatically become a type simlar to SCSI/Sata using device name like sda, sdb etc. which cannot have more than 15 partitions. Therefore Grub knows how to read the same disk with different protocols according to the disk mounted internally or externally.
At run time Grub can boot an external hard disk only if the USB lagacy support in the mothboard has been enabled first, otherwise Grub can't even see the USB disk.
My question is it seems when Grub reads an external USB disk and has no access to an kernel and hence no driver available, it suffers the 137Gb limitation.
Is this true or has anyone had information to either prove it or disprove it?
I will try this USB disk on various motherboards to see if it is hardware specific.
Last edited by saikee; 02-08-2007 at 09:36 PM.
-
Well, the 137GB limit is actually a 128GB limit (where "giga" there means "2 to the 30th power", not "10 to the 9th power" -- drive manufacturers use 10**9, where OSes use 2**30), and it comes from the 28-bit LBA "protocol". When you send a request to the IDE chip, the request contains the block number that you want the chip to read -- this number is 28 bits wide (no, I don't know why it isn't 32 bits wide), so you can have 256 megablocks on your disk using this protocol.
And 128 gigabytes divided by 256 megablocks gives you 512 bytes per block -- totally not by coincidence, the sector size on disks is 512 bytes. (The LBA address is the sector number.)
There's a new LBA standard that's 48 bits wide (LBA-48), which can access 2**48 different 512-byte sectors. That's what recent kernels and XP SP2 use to be able to talk to larger disks. Apparently grub has no support for it -- I don't know how complicated the protocol is, so I don't know whether it can be included into grub. It would have to fit inside the (less than 512-byte) stage1 file after being compiled.
-
bwkaz,
Thanks. I always enjoy reading your reply as there is a bit of theory in it.
The situation has changed a bit when I hooked the same USB disk to another PC and found Grub could manage to read and mount partitions beyond the 137Gb (or 128Gb) barrier.
Thus it could be hardware specific even though both PC have USB legacy support enabled. I even downloaded the latest Bios to updated the machine that Grub could not cross the 137Gb barrier but with no improvement.
This PC has a Asrock939NF4G-SATA2 mobo and one of the cheapest I could lay my hand on at the time. The mobo came with an onboard graphic card. What I got was what I paid so next time I shall buy a decent Mobo.
-
latest bios != new features. It merely means old glaring bug no. 2 on list is fixed (no. 1 never gets fixed anyway)
Come under the reign of the Idiot King...
Come to me ... I love linux!
Registered Linux user: Idiot King #350544
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|