Re: ATA 4 KiB sector issues.

From: Michal Soltys
Date: Sun Mar 14 2010 - 17:36:33 EST


Tejun Heo wrote:

I was thinking about testing XP booting this weekend but really want
to avoid it, so thanks a lot for the info. I'll update the doc
accordingly but can you please enlighten me on how it works and what's
broken in detail? So, XP should be fine with any alignment?

Thanks.


Sorry for late reply.

s/sp2/sp3 - although it shouldn't make a difference from sp2 onwards.

Anyway - the tests I did were because of weird laptop, where I shrinked whole win7 stuff and having no primary partitions left to use, I tested my usual windows xp installation I deploy with ntfsclone. Originally that XP were installed from installation disk merged with sp3 (or how it's usually called in windows world - slipstreamed). Of course, windows xp itself will not present any options to install itself into logical partition in the usual way - but during later deployment it's not a problem to put it where one's want.

It's possible that this wouldn't work, if windows were installed first from pre-sp2 media, and then service pack was installed (in such case, ntldr in C:\ is not updated afaik). It's also possible, that "brute-force" copied pre-sp2 or win2k to a partition made with either - a) xp sp2+'s disk manager or b) mkfs.ntfs and with updated most recent ntldr - would boot as well (the partition requirement is due to potential differences between the code in bootsector, or more precisely - $Boot - first 8KiB of ntfs partition).

Obvious requirements besides the above (ntldr, perhaps $Boot as well) are:

- mentioned "hidden sectors" (must be manually adjusted, recent syslinux's chain.c32 has option to do it automatically)
- adjusted boot.ini (to point to new partition, eventually other windowish stuff as necessary)

As you can see, there're many "if"s and combinations here that I didn't test.

On a related note - ironically, while I had 0 problems making it work through syslinux (both regular chaining and through direct ntldr loading) - I couldn't make win7's bootmgr (bcd, bcdedit ....) do it properly. Oh well.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/