Tillbaka till svenska Fidonet
English   Information   Debug  
OCCULT_CHAT   0/93
OS2BBS   0/787
OS2DOSBBS   0/580
OS2HW   0/42
OS2INET   0/37
OS2LAN   0/134
OS2PROG   0/36
OS2REXX   0/113
OS2USER-L   207
OS2   798/4786
OSDEBATE   0/18996
PASCAL   0/490
PERL   0/457
PHP   0/45
POINTS   0/405
POLITICS   0/29554
POL_INC   0/14731
PSION   103
R20_ADMIN   1117
R20_AMATORRADIO   0/2
R20_BEST_OF_FIDONET   13
R20_CHAT   0/893
R20_DEPP   0/3
R20_DEV   399
R20_ECHO2   1379
R20_ECHOPRES   0/35
R20_ESTAT   0/719
R20_FIDONETPROG...
...RAM.MYPOINT
  0/2
R20_FIDONETPROGRAM   0/22
R20_FIDONET   0/248
R20_FILEFIND   0/24
R20_FILEFOUND   0/22
R20_HIFI   0/3
R20_INFO2   2864
R20_INTERNET   0/12940
R20_INTRESSE   0/60
R20_INTR_KOM   0/99
R20_KANDIDAT.CHAT   42
R20_KANDIDAT   28
R20_KOM_DEV   112
R20_KONTROLL   0/13081
R20_KORSET   0/18
R20_LOKALTRAFIK   0/24
R20_MODERATOR   0/1852
R20_NC   76
R20_NET200   245
R20_NETWORK.OTH...
...ERNETS
  0/13
R20_OPERATIVSYS...
...TEM.LINUX
  0/44
R20_PROGRAMVAROR   0/1
R20_REC2NEC   534
R20_SFOSM   0/340
R20_SF   0/108
R20_SPRAK.ENGLISH   0/1
R20_SQUISH   107
R20_TEST   2
R20_WORST_OF_FIDONET   12
RAR   0/9
RA_MULTI   106
RA_UTIL   0/162
REGCON.EUR   0/2056
REGCON   0/13
SCIENCE   0/1206
SF   0/239
SHAREWARE_SUPPORT   0/5146
SHAREWRE   0/14
SIMPSONS   0/169
STATS_OLD1   0/2539.065
STATS_OLD2   0/2530
STATS_OLD3   0/2395.095
STATS_OLD4   0/1692.25
SURVIVOR   0/495
SYSOPS_CORNER   0/3
SYSOP   0/84
TAGLINES   0/112
TEAMOS2   0/4530
TECH   0/2617
TEST.444   0/105
TRAPDOOR   0/19
TREK   0/755
TUB   0/290
UFO   0/40
UNIX   0/1316
USA_EURLINK   0/102
USR_MODEMS   0/1
VATICAN   0/2740
VIETNAM_VETS   0/14
VIRUS   0/378
VIRUS_INFO   0/201
VISUAL_BASIC   0/473
WHITEHOUSE   0/5187
WIN2000   0/101
WIN32   0/30
WIN95   0/4277
WIN95_OLD1   0/70272
WINDOWS   0/1517
WWB_SYSOP   0/419
WWB_TECH   0/810
ZCC-PUBLIC   0/1
ZEC   4

 
4DOS   0/134
ABORTION   0/7
ALASKA_CHAT   0/506
ALLFIX_FILE   0/1313
ALLFIX_FILE_OLD1   0/7997
ALT_DOS   0/152
AMATEUR_RADIO   0/1039
AMIGASALE   0/14
AMIGA   0/331
AMIGA_INT   0/1
AMIGA_PROG   0/20
AMIGA_SYSOP   0/26
ANIME   0/15
ARGUS   0/924
ASCII_ART   0/340
ASIAN_LINK   0/651
ASTRONOMY   0/417
AUDIO   0/92
AUTOMOBILE_RACING   0/105
BABYLON5   0/17862
BAG   135
BATPOWER   0/361
BBBS.ENGLISH   0/382
BBSLAW   0/109
BBS_ADS   0/5290
BBS_INTERNET   0/507
BIBLE   0/3563
BINKD   0/1119
BINKLEY   0/215
BLUEWAVE   0/2173
CABLE_MODEMS   0/25
CBM   0/46
CDRECORD   0/66
CDROM   0/20
CLASSIC_COMPUTER   0/378
COMICS   0/15
CONSPRCY   0/899
COOKING   28880
COOKING_OLD1   0/24719
COOKING_OLD2   0/40862
COOKING_OLD3   0/37489
COOKING_OLD4   0/35496
COOKING_OLD5   9370
C_ECHO   0/189
C_PLUSPLUS   0/31
DIRTY_DOZEN   0/201
DOORGAMES   0/2031
DOS_INTERNET   0/196
duplikat   6000
ECHOLIST   0/18295
EC_SUPPORT   0/318
ELECTRONICS   0/359
ELEKTRONIK.GER   1534
ENET.LINGUISTIC   0/13
ENET.POLITICS   0/4
ENET.SOFT   11560/11701
ENET.SYSOP   33816
ENET.TALKS   0/32
ENGLISH_TUTOR   0/2000
EVOLUTION   0/1335
FDECHO   0/217
FDN_ANNOUNCE   0/7068
FIDONEWS   23567
FIDONEWS_OLD1   0/49742
FIDONEWS_OLD2   0/35949
FIDONEWS_OLD3   0/30874
FIDONEWS_OLD4   0/37224
FIDO_SYSOP   12847
FIDO_UTIL   0/180
FILEFIND   0/209
FILEGATE   0/212
FILM   0/18
FNEWS_PUBLISH   4215
FN_SYSOP   41525
FN_SYSOP_OLD1   71952
FTP_FIDO   0/2
FTSC_PUBLIC   0/13587
FUNNY   0/4886
GENEALOGY.EUR   0/71
GET_INFO   105
GOLDED   0/408
HAM   0/16054
HOLYSMOKE   0/6791
HOT_SITES   0/1
HTMLEDIT   0/71
HUB203   466
HUB_100   264
HUB_400   39
HUMOR   0/29
IC   0/2851
INTERNET   0/424
INTERUSER   0/3
IP_CONNECT   719
JAMNNTPD   0/233
JAMTLAND   0/47
KATTY_KORNER   0/41
LAN   0/16
LINUX-USER   0/19
LINUXHELP   0/1155
LINUX   0/22013
LINUX_BBS   0/957
mail   18.68
mail_fore_ok   249
MENSA   0/341
MODERATOR   0/102
MONTE   0/992
MOSCOW_OKLAHOMA   0/1245
MUFFIN   0/783
MUSIC   0/321
N203_STAT   902
N203_SYSCHAT   313
NET203   321
NET204   69
NET_DEV   0/10
NORD.ADMIN   0/101
NORD.CHAT   0/2572
NORD.FIDONET   189
NORD.HARDWARE   0/28
NORD.KULTUR   0/114
NORD.PROG   0/32
NORD.SOFTWARE   0/88
NORD.TEKNIK   0/58
NORD   0/453
Möte OS2, 4786 texter
 lista första sista föregående nästa
Text 2059, 136 rader
Skriven 2011-06-25 01:06:53 av Jonathan de Boyne Pollard
Ärende: Master Boot Record with EFI partition table support
===========================================================
Gecko/20110616 Thunderbird/3.1.11
comp.os.os2.setup.storage,comp.os.os2.misc,comp.os.os2.utilities,comp.os.os2.beta

UTC)
comp.os.os2.misc:3428 comp.os.os2.utilities:215 comp.os.os2.beta:177
From: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.COM>

I came across an EDD proposal the other day, for adding a new flag to 
the EFI (so-called "GUID") partition table.  The proposal hypothesized a 
master boot record that understood EFI partition tables.  It would 
enable machines with PC/AT style firmwares to bootstrap operating 
systems on discs partitioned with an EFI partition table.  (The MBR 
bootstrap code provided by people until now has always assumed an MBR 
partition table, and failed when one either is not present or is merely 
a so-called "protective MBR".)  The hypothesized boostrap code would 
scan the EFI partition table for the first entry with this attribute 
set, and load and run its volume boot record just as if it were a 
primary MBR partition.

The proposal didn't mention anyone having written such a bootstrap.  So 
I have.  (-:

If you have my latest DASDPART utility, then you can install it.  I've 
updated the NEWMBR command in DASDPART, and added a PARTATTRIB command.  
The NEWMBR command used to unconditionally write an 
MBR-partitioning-aware bootstrap.  It now detects the presence of an EFI 
partition table, and if one is found writes an EFI-partitioning-aware 
bootstrap instead.  The PARTATTRIB command is a new command, which was 
needed anyway, that allows one to change the attributes of a partition.  
It can manage the standard EFI partition attributes defined in the EFI 
specification, as well as this new proposed attribute.  The INSPECT 
command now prints out the attributes of a partition, too.

The new attribute goes by the label "HasVBR" in DASDPART, denoting a 
partition that ... well ... has a VBR (volume boot record).  I've made 
PARTATTRIB and INSPECT map this attribute onto the "active" ("startable" 
in IBM's terminology) flag if they find themselves facing MBR partition 
tables, so setting the "HasVBR" flag has effectively the same semantics 
for both MBR and EFI partition tables.  The MBR-partitioning-aware 
bootstrap code looks for the "HasVBR" (i.e. startable) flag on the four 
boot partitions in the MBR partition table, and the 
EFI-partitioning-aware bootstrap looks for the "HasVBR" (i.e. the 
proposed EDD extension) flag on all of the partitions in the EFI 
partition table.  In both cases, the bootstrap simply loads and runs the 
VBR as if it were being loaded from a primary partition.  (So beware of 
"hybrid MBR" configurations where the partitions were actually formatted 
as secondary partitions within a container.)

Effectively, therefore, the procedures from the user point of view are 
the same across both MBR and EFI partitioned discs.  One installs the 
MBR boostrap with NEWMBR, one looks at the partition table with INSPECT, 
one changes attributes and applies the "HasVBR" flag with PARTATTRIB to 
specify which partition's VBR is booted; and the commands do the 
necessary machinations to map things appropriately and pick the right 
bootstrap code according to what partition table scheme is actually in 
use.  One's system boots by the firmware loading the MBR bootstrap, the 
bootstrap scanning the (appropriate) partition table for a "startable" 
partition, and loading and running its VBR.

Of course, OS/2 doesn't understand the EFI partition table, so you'll 
have to employ a "hybrid MBR" scheme if you want to try this with OS/2.  
If, as I have, you have OS/2 in a secondary partition (from the MBR 
point of view) within a container, marking that as the startable 
"HasVBR" partition will not work.  You'll have to put either IBM's or my 
Boot Manager in between.  They'll do the necessary fixups for 
bootstrapping an operating system from a secondary partition (more on 
which later).  I have my Boot Manager (naturally!) installed in my EFI 
System Partition, and I've marked the ESP with the "HasVBR" attribute.  
If you have OS/2 in (from the MBR point of view) a primary partition, 
however, you should be able to mark it as "HasVBR" (from the EFI point 
of view) and it will be bootstrapped directly (as long as your two 
partition tables are in step with each other).

The more interesting case is perhaps Windows NT 6.1, which can 
understand an EFI partition table but cannot be bootstrapped from an EFI 
partitioned disc on machines without EFI firmwares.  My MBR bootstrap 
provides the final link in the chain that should enable this. One needs 
to somehow persuade Windows NT to install the non-EFI version of 
Microsoft's Boot Manager.  (Getting it to install on an EFI partitioned 
disc requires fooling the installer into believing that the machine has 
EFI firmware.  But this has the consequence of Windows NT being 
installed with the EFI version of Microsoft's Boot Manager.)  Once one 
has persuaded it, however, one should need only to simply mark the 
partition as startable with PARTATTRIB x y +HasVBR and install my 
bootstrap with NEWMBR x.  The firmware will load and run the bootstrap; 
the bootstrap will find the startable partition in the EFI partition 
table and load and run its VBR; and the VBR will load and run 
Microsoft's Boot Manager.

The PARTATTRIB command can also manipulate an "OnBMMenu" attribute for 
partition table entries.  This is the "bootable" (again, in IBM's 
terminology) flag that, as the name mildly suggests, controls whether a 
partition table entry is listed by IBM's and my Boot Managers.  It sets 
the "bootable" flag in both places that it exists in the MBR 
partitioning scheme, and so should work for both IBM's old (FDISK) and 
new (LVM) Boot Managers.  I haven't been brave enough to unilaterally 
co-opt an EFI (global) partition table entry attribute for this, 
although I'm tempted to, so this flag only works for MBR partitioned 
discs for now.  But you can now add and remove MBR partitions to and 
from the Boot Manager menus with the PARTATTRIB x y +OnBMMenu and 
PARTATTRIB x y -OnBMMenu commands in DASDPART.

For completeness, I should note that I haven't implemented the whole of 
the EDD proposal.  The part that I don't implement involves passing an 
extended data structure to the VBR, purportedly (according to the 
proposal at any rate) to enable it to work with "startable" partitions 
that lie above the 2TiB line.  This is all well and good, except for two 
things.

The first thing is that it's based upon an erroneous assumption.  By 
historical accident, the DS:SI register pair pointed to the selected 
(primary) partition table entry when the MBR boostrap code written by 
MS-DOS handed over to the selected VBR.  So the EDD proposal has 
extended this with new fields plonked onto the end of that structure.  
Unfortunately for the proposal, what it has assumed as the de facto 
standard is not standard at all.  Microsoft switched to using DS:BP as 
the roving pointer into the partition table as of Windows NT 6.0 in 
2007.  The supposed standard is merely an accidental byproduct of the 
way that MBR code that was installed by MS-DOS and some early versions 
of Windows NT operated, doesn't (the killer fact for a "de facto" 
standard) match the way that things operate now and have operated for 
the past several years, and the proposed extension has an entirely false 
foundation.

The second thing is that no-one's existing VBR bootstrap actually 
expects this anyway.  Despite denials encouraged by Microsoft, the 
actual VBR bootstrap code of most operating systems, including Windows 
NT up to and including version 6, looks at the "hidden sectors" field of 
the embedded BPB within the VBR and uses *that*, not whatever DS:SI 
points to, as the way to determine the start offset of the boot volume.  
This is why we need things like my and IBM's Boot Manager to fix things 
up for secondary partitions (whose on-disc BPBs don't contain the right 
values in the "hidden sectors" field).

--- Internet Rex 2.31
 * Origin: virginmedia.com (1:261/20.999)