[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

GRUB, fdisk/installers need to support the LDM disk label



[ Before you trash this e-mail, please read it.
If you don't want to read it now, at least save it for later. ]

First off, this post was preceeded by two posts to Bugzilla 115980.
Specifically, my comments #62 and #63, which resulted in some direct
correspondence.

  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115980#c62  
  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115980#c63  

TERMINOLOGY REFERENCE

- DOS Disk Label (pri/ext/log, "Basic" disk, "MBR" disk [label])
The legacy disk label (partition table) format of primary, extended and
logical.  Microsoft refers to this format in NT 5.x (2000, XP, 2003) as
a "Basic" disk or a "MBR" disk [label].  I will use "DOS" disk label.

-  LDM Disk Label ("Dynamic" disk, "LDM" disk [label])
The Microsoft Logical Disk Manager (LDM) in NT 5.x (2000, XP, 2003)
which looks like a single type 42h primary partition in a DOS disk
label.  Microsoft also refers to it as a "Dynamic" disk or a "LDM"
disk [label].  It stores geometry, NTFS-SID references and other
goodies, much like any OS logical volume management (LVM) does.

MY RECOMMENDATIONS

At this time, I recommend the following efforts be put forth.  I am
more than willing to bring myself up to speed and try to help out
(I am a meager C coder with a lot of experience in BIOS/disk geometry
issues).

1.  GRUB be modified to support booting volumes in LDM disk labels

2.  Util-linux's fdisk and Anaconda be modified to support creating
"simple" volumes in a LDM disk label, as well as the LDM disk label
itself

MY RATIONALE

A.  The LDM disk label solves boot-time geometry issues with NT
(as well as countless other issues).

B.  The LDM format is fairly well documented now
( http://linux-ntfs.sourceforge.net/ldm/index.html )

C.  Linux kernels support loading/accessing volumes in LDM disk labels
already, including LVM/LVM2 and MD.

ADDITIONAL RECOMMENDATIONS

3.  Installer prompts/info
a.  On a new (blank) disk, the installer should let the user choose
between using the legacy DOS or newer LDM disk label, and tell the user
why.
b.  On an existing, legacy DOS disk label, if the installer detects NT
5.x, it should recommend the user boot into NT 5.x+ and convert to a LDM
disk label (dynamic disk) before installing Linux.

ADDITIONAL RATIONALE

D.  Microsoft is pushing LDM adoption hard, largely because it solves
such geometry issues with itself (e.g., booting multiple NT 5.x+
versions).

E.  The LDM disk label is recommended when you read NTFS filesystems
from an OS installation that did not create the NTFS volume.  I.e., you
should _never_ write to a NTFS volume from even another NT installation
because of the SID mapping issues in a NTFS volume -- _unless_ a LDM
disk label is used (which can store these mappings outside the
registry).  Yes, NTFS write support is an issue with NT itself, if the
NT installation did not create the NTFS volume being written to (because
of the registry/SID issues).

MY COMMENTARY

God knows this was much easier back in the DOS/Win (95, 98, ME) days
where DOS/Win wouldn't even boot if the BIOS and disk label geometry
didn't match.  But now we're onto NT en-masse.

In a nutshell, yes, Microsoft should have created a mature NT kernel
that can read the DOS disk label geometry and compare/ignore the BIOS.  
I have advocated this for a long time (being an original NT 3.1 beta
tester myself).  But they have not.

Additionally, Microsoft never considered the issues with writing to NTFS
filesystems that were not created by the NT installation writing to it. 
You can (and I have) _toasted_ NTFS filesystems when writing to them
from a NT installation

_Both_ of these issues are _solved_ by using the LDM disk label.  Now
I'm not advocating we have Linux be able to do all sorts of LDM
manipulation.  But it would be nice if, again:

1. GRUB was modified to boot volumes inside of LDM disk
2. Linux fdisk/installers could at least create "Simple" volumes inside
of LDM disk labels (as well as a new LDM disk label itself)

Now #1 could be "put off" for a bit, since LILO (being dumb and a simple
"sector reference") _can_ boot volumes inside of LDM disk labels (at
least Linux, but NT 5.x too?).  But ultimately extensible GRUB should be
able to do this, correct?

POTENTIAL GOTCHAS

Microsoft does not support the LDM disk label on the following storage
devices:
- Notebooks (WTF? They are the biggest geometry nightmares!)
- Removable drives (CD-RW, DVD-RAM/RW/+RW, etc...)
- External drives (IEEE1394, USB)
- External solid state storage (flash cards, sticks, etc...)

The latter three items are not much of a big deal.  But notebooks, those
are a "sticking point."  Why did Microsoft not support LDM on them? 
Probably because of the "suspend partition" that some use?  I'm not
sure.


-- 
Bryan J. Smith, E.I. -- b j smith ieee org




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]