qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 13/13] vvfat: change OEM name to 'MSWIN4.1'


From: Hervé Poussineau
Subject: Re: [Qemu-devel] [PATCH v2 13/13] vvfat: change OEM name to 'MSWIN4.1'
Date: Tue, 23 May 2017 21:41:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

Hi Philippe,

Le 23/05/2017 à 06:23, Philippe Mathieu-Daudé a écrit :
Hi Hervé,

On 05/22/2017 06:12 PM, Hervé Poussineau wrote:
According to specification:
"'MSWIN4.1' is the recommanded setting, because it is the setting least likely
to cause compatibility problems. If you want to put something else in here,
that is your option, but the result may be that some FAT drivers might not
recognize the volume."

It also says "Typically this is some indication of what system formatted
the volume."

From https://technet.microsoft.com/en-us/library/cc976796.aspx:

"Following the jump instruction is the 8-byte OEM ID, a string of characters 
that identifies the name and version number of the operating system that formatted 
the volume. To preserve compatibility
with MS-DOS, Windows 2000 records "MSDOS5.0" in this field on FAT16 and FAT32 disks. On 
NTFS disks, Windows 2000 records "NTFS."
You may also see the OEM ID "MSWIN4.0" on disks formatted by Windows 95 and 
"MSWIN4.1" on disks formatted by Windows 95 OSR2 and Windows 98. Windows 2000 does not 
use the OEM ID field in the boot
sector except for verifying NTFS volumes."

I'm curious which one is the most up-to-date, the specification v1.03 or a 
Windows 2000. Do you have an idea if there is more MSDOS/W2K vs W95/98 users? 
Hopefully W95 is a Long time no see to me.

You think having "QEMU" OEM does more harm than good?

That's complicated. Indeed, OEM ID should be the name of the OS/tool which 
formatted the partition.
However, some FAT drivers take different paths according to OEM ID.
See for example:
https://jdebp.eu/FGA/volume-boot-block-oem-name-field.html
http://seasip.info./Misc/oemid.html

So, in my opinion, it should be better to stick to some specification for the 
whole FAT format, so we have a reference document to know if there is a bug in 
the code or not.
FAT specification 1.03 is dated December 6, 2000, while Windows 2000 has been 
released December 15, 1999, so both are around the same date.
FAT specification gives all details about all disk structures, so I think 
that's better to stick to what it says.

So to answer your question, and knowing the tricks played with OEM ID, I think that's better to use 
"MSWIN4.1" than "QEMU".

Regards,

Hervé



Specification: "FAT: General overview of on-disk format" v1.03, page 9
Signed-off-by: Hervé Poussineau <address@hidden>
---
 block/vvfat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/vvfat.c b/block/vvfat.c
index 53e8faa54c..1f7f46ecea 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -1024,7 +1024,7 @@ static int init_directories(BDRVVVFATState* s,
     bootsector->jump[0]=0xeb;
     bootsector->jump[1]=0x3e;
     bootsector->jump[2]=0x90;
-    memcpy(bootsector->name,"QEMU    ",8);
+    memcpy(bootsector->name, "MSWIN4.1", 8);
     bootsector->sector_size=cpu_to_le16(0x200);
     bootsector->sectors_per_cluster=s->sectors_per_cluster;
     bootsector->reserved_sectors=cpu_to_le16(1);


Regards,

Phil.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]