Jump to content

48-bit LBA on Win2k setup


red2k

Recommended Posts

The above INF won't work ;)

The whole thing is that you need to add the changes to SETUPREG.HIV in order to make it work in the text setup. You still need the above setting later but the HDD must be properly detected in the text setup first. The SETUPREG.HIV files for each edition of Win2k which are included in USP5.1 have this setting already added.

Edited by tomasz86
Link to comment
Share on other sites


To expand on my advice and clear something up, ALL of the HIVE* INF files execute during text setup. They all build the registry which is assembled prior to GUI. You do not need to add to SETUPREG.HIV. (Editing that file is a mess anyway).

Look at the HIVE files in my fileset... look at all of the system tweaks I add (use Winmerge to compare). You can make a LOT of changes to the OS by editing these files

edit: this is not 100% correct, see my post below about using SYSSETUP.INF for LBA, I misremembered what was in my own file

Edited by fdv
Link to comment
Share on other sites

You still need to edit the SETUPREG.HIV though. The HIVE*.INF files are indeed executed during text setup but it's done at the very end of it while you need to select your disk / partition much earlier. It's that moment when the 48-bit LBA support must be enabled and SETUPREG.HIV is responsible for it.

You should also remember that SETUPREG.HIV is different for every edition of Win2k (Professional, Server, etc.) and different for every language version too so don't try to switch them.

Edited by tomasz86
Link to comment
Share on other sites

I'm surprised that fdv says that you do not need to add to SETUPREG.HIV, while tomasz86 feels so strongly that you do. Hopefully fdv will continue to interact on this thread, because I believe that with his experience he will be able to shed light on what can and cannot be done in this area.

Cheers and Regards

Link to comment
Share on other sites

In truth I always stuck the LBA in SYSSETUP.INF. From my version in my fileset:

[infs.Always]

syssetup.inf,SpecialInstall

[specialInstall]

AddReg = Special.Addreg

[special.Addreg]

HKLM,"SYSTEM\CurrentControlSet\Services\Atapi\Parameters","EnableBigLba",0x10001,01,00,00,00 ; enable large block addressing

This way the LBA is accomplished neatly and immediately. I posted otherwise because I'd forgotten and this forced me to check!! Sorry about my misleading post above :wacko:

Link to comment
Share on other sites

  • 1 month later...

Hivefix.inf is activated through txtsetup.sif. This is SI.TXT, the instructions for adding files to win2k, and how to activate additional INF files.

You really do need to edit SETUPREG.HIV. This is the registry for the boot system. It won't see your fixed disk correctly elsewise. This batch file does that. You edit the second line of this batch file to where your win2k source lives, including the cd file. You run the batch file, and it corrects the setupreg.hive, without modifying anything else.


setlocal
set winsource=c:\win2kcd\i386
attrib -r -a -s -h %winsource%\setupreg.hiv
reg load HKLM\Setup %winsource%\setupreg.hiv
set regkey=ControlSet001\Services\atapi\Parameters
reg add HKLM\Setup\%regkey% /v EnableBigLba /t reg_dword /d 00000001 /f
reg unload HKLM\Setup
set winsource=
set regkey=
endlocal

This is a sample text file, used to modify both dosnet.inf and txtsetup.sif. The items are in order, so all you have to search for is the beginnings of each section. All the bits go to the end of the current section (ie before the next square bracket), unless you're modifying the default directory.

We add a number of files here. You should delete matching entries from both dosnet.inf and txtsetup.inf if these are not included.

All of the stuff is from the resource kit, except themes.cpl, which you can download from microsoft as an NT4 fix. It allows you to access the win98 style themse from the control panel.

The first two entries in txtsetup.sif create extra 'hidden' controls for hotplug and console.

We add a number of rk files to the default install, wie WINXP et al.
The Windows bitmaps live in webvw.dll, so we add the Win9x stuff there.
Setup.bmp lives in the system32 directory, installs from setup_w.bm_

------ dosnet.inf ---------------------------------------------

d1,hivefix.inf
d1,directx.cpl
d1,diskpart.exe
d1,fsutil.exe
d1,kill.exe
d1,linkd.exe
d1,list.exe
d1,msvcp60.dll
d1,oeminfo.ini
d1,oemlogo.bmp
d1,reg.exe
d1,runext.dll
d1,sc.exe
d1,schtasks.exe
d1,setx.exe
d1,shortcut.exe
d1,takeown.exe
d1,themes.cpl
d1,tlist.exe
d1,tweakui.cnt
d1,tweakui.cpl
d1,tweakui.hlp
d1,where.exe

------ txtsetup.sif --------------------------------------------

[SourceDisksFiles]
console.dll = 1,,,,,,,2,0,0,console.cpl
hotplug.dll = 1,,,,,,,2,0,0,hotplug.cpl
hivefix.inf = 1,,,,,,,20,3,3
directx.cpl = 2,,,,,,,2,0,0
diskpart.exe = 2,,,,,,,2,0,0
fsutil.exe = 2,,,,,,,2,0,0
kill.exe = 2,,,,,,,2,0,0
linkd.exe = 2,,,,,,,2,0,0
list.exe = 2,,,,,,,2,0,0
msvcp60.dll = 2,,,,,,,2,0,0
oeminfo.ini = 2,,,,,,,2,0,0
oemlogo.bmp = 2,,,,,,,2,0,0
reg.exe = 2,,,,,,,2,0,0
runext.dll = 2,,,,,,,2,0,0
schtasks.exe = 2,,,,,,,2,0,0
sc.exe = 2,,,,,,,2,0,0
setx.exe = 2,,,,,,,2,0,0
shortcut.exe = 2,,,,,,,2,0,0
takeown.exe = 2,,,,,,,2,0,0
themes.cpl = 2,,,,,,,2,0,0
tlist.exe = 2,,,,,,,2,0,0
tweakui.cnt = 2,,,,,,,21,0,0
tweakui.cpl = 2,,,,,,,2,0,0
tweakui.hlp = 2,,,,,,,21,0,0
where.exe = 2,,,,,,,2,0,0
; setup_w.bmp = 2,,,,,,,1,0,0,setup50.bmp


; add these to the end to make hivefix.inf work.
[HiveInfs.Fresh]
DelReg = hivefix.inf,AddReg
AddReg = hivefix.inf,AddReg

[HiveInfs.Upgrade]
DelReg = hivefix.inf,AddReg
AddReg = hivefix.inf,AddReg

; These have not really changed, so...
[SetupData]
SetupSourcePath = "\"
DefaultPath=\FENSTER

---------------------------------------------------------------------

WEBVW.DLL
Add bitmaps to resource table, using reshack.exe

This is a working version of HIVEFIX.INF. It is placed after the other INF files in txtsetup.sif


[Version]
Signature = "$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
DriverVer=11/14/1999,5.00.2183.1
; vers 2195/1


[AddReg]
; homegrown
; flags: see 'windows registry guide', p276
HKCU,"Console","InsertMode",0x00010001,1
HKCU,"Console","QuickEdit", 0x00010001,0
HKLM,"Software\Microsoft\Command Processor","CompletionChar",0x00010001,9
HKLM,"Software\Microsoft\Command Processor","PathCompletionChar",0x00010001,9
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","ParseAutoexec",0x00000000,"0"
HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","ParseAutoexec",0x00000000,"0"


; HiveCLS.inf
HKCR,"batfile","",0x00000002,"%MS_DOS_BATCH_FILE%"
HKCR,"comfile","",0x00000002,"%MS_DOS_APPLICATION%"

; Hivesft.inf
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020002,"%DEFAULT_PROFILES_DIR%"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","AllUsersProfile",0x00000002,"%ALL_USERS%"
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","DefaultUserProfile",0x00000002,"%DEFAULT_USER%"

; fix for ejecting removable disks
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","allocatedasd",0x00000002,"2"

; HiveSys.inf
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Language","InstallLanguage",,"%INSTALL_LANGUAGE%"
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","(Default)",,%INSTALL_LOCALE%
; UKINT keybd

HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0001089",0x00000002,"uk"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00010809","Layout File",0x00000002,"KBDUKINT.DLL"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00010809","Layout Id",0x00000002,"0087"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00010809","Layout Text",0x00000002,"%UK_INTERNATIONAL%"

; Hivedef.inf
; International Settings
HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","(Default)",0x00000002,"00000C09"

HKCU,"Control Panel\International","iCalendarType",0x00000000,"%INTL_ICALENDAR%"
HKCU,"Control Panel\International","iCountry",0x00000000,"%INTL_ICOUNTRY%"
HKCU,"Control Panel\International","iCurrDigits",0x00000000,"%INTL_ICURRDIGITS%"
HKCU,"Control Panel\International","iCurrency",0x00000000,"%INTL_ICURRENCY%"
HKCU,"Control Panel\International","iDate",0x00000000,"%INTL_IDATE%"
HKCU,"Control Panel\International","iDigits",0x00000000,"%INTL_IDIGITS%"
HKCU,"Control Panel\International","iFirstDayOfWeek",0x00000000,"%INTL_IFIRSTWEEKDAY%"
HKCU,"Control Panel\International","iLZero",0x00000000,"%INTL_ILZERO%"
HKCU,"Control Panel\International","iMeasure",0x00000000,"%INTL_IMEASURE%"
HKCU,"Control Panel\International","iNegCurr",0x00000000,"%INTL_INEGCURR%"
HKCU,"Control Panel\International","iTime",0x00000000,"%INTL_ITIME%"
HKCU,"Control Panel\International","iTLZero",0x00000000,"%INTL_ITLZERO%"
HKCU,"Control Panel\International","Locale",0x00000000,"%INTL_LOCALE%"
HKCU,"Control Panel\International","s1159",0x00000000,"%INTL_S1159%"
HKCU,"Control Panel\International","s2359",0x00000000,"%INTL_S2359%"
HKCU,"Control Panel\International","sCountry",0x00000000,"%INTL_SCOUNTRY%"
HKCU,"Control Panel\International","sCurrency",0x00000000,"%INTL_SCURRENCY%"
HKCU,"Control Panel\International","sDate",0x00000000,"%INTL_SDATE%"
HKCU,"Control Panel\International","sDecimal",0x00000000,"%INTL_SDECIMAL%"
HKCU,"Control Panel\International","sLanguage",0x00000000,"%INTL_SLANGUAGE%"
HKCU,"Control Panel\International","sList",0x00000000,"%INTL_SLIST%"
HKCU,"Control Panel\International","sLongDate",0x00000000,"%INTL_SLONGDATE%"
HKCU,"Control Panel\International","sShortDate",0x00000000,"%INTL_SSHORTDATE%"
HKCU,"Control Panel\International","sThousand",0x00000000,"%INTL_STHOUSAND%"
HKCU,"Control Panel\International","sTime",0x00000000,"%INTL_STIME%"
HKCU,"Control Panel\International","sTimeFormat",0x00000000,"%INTL_STFORMAT%"


; Marquee Settings
HKCU,"Control Panel\Screen Saver.Marquee","Font",0x00000000,"%SCREEN_SAVER_MARQUEE_FONT%"
HKCU,"Control Panel\Screen Saver.Marquee","Text",0x00000002,"%SCREEN_SAVER_MARQUEE_TEXT%"

; TempDir
HKCU,"Environment","TEMP",0x00020000,"%TEMP_DIR%"
HKCU,"Environment","TMP",0x00020000,"%TEMP_DIR%"


; Shell Folders
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","AppData",0x00020002,"%U_SHELL_FOLDERS_APPDATA%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Desktop",0x00020002,"%U_SHELL_FOLDERS_DESKTOP%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Favorites",0x00020002,"%U_SHELL_FOLDERS_FAVORITES%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","NetHood",0x00020002,"%U_SHELL_FOLDERS_NETHOOD%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Personal",0x00020000,"%U_SHELL_FOLDERS_PERSONAL%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","PrintHood",0x00020002,"%U_SHELL_FOLDERS_PRINTHOOD%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Programs",0x00020002,"%U_SHELL_FOLDERS_PROGRAMS%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Recent",0x00020002,"%U_SHELL_FOLDERS_RECENT%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","SendTo",0x00020002,"%U_SHELL_FOLDERS_SENDTO%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Start Menu",0x00020002,"%U_SHELL_FOLDERS_START_MENU%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Startup",0x00020002,"%U_SHELL_FOLDERS_STARTUP%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Templates",0x00020002,"%U_SHELL_FOLDERS_TEMPLATES%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Cookies",0x00020000,"%U_SHELL_FOLDERS_COOKIES%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","My Pictures",0x00020000,"%U_SHELL_FOLDERS_MYPICTURES%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Local Settings",0x00020000,"%U_SHELL_FOLDERS_LOCAL_SETTINGS%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Local AppData",0x00020000,"%U_SHELL_FOLDERS_LOCAL_APPDATA%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Cache",0x00020000,"%U_SHELL_FOLDERS_CACHE%"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","History",0x00020000,"%U_SHELL_FOLDERS_HISTORY%"

; runext.dll
HKCR,CLSID\{%CSID00%},,,"%NAME%"
HKCR,CLSID\{%CSID00%}\InProcServer32,,,"runext.dll"
HKCR,CLSID\{%CSID00%}\InProcServer32,"ThreadingModel",,"Apartment"
HKCR,*\%SHEX%,,,"%RUNEXTKEY%"
HKCR,*\%SHEX%\%RUNEXTKEY%,,,"{%CSID00%}"
HKCR,Folder\%SHEX%,,,"%RUNEXTKEY%"
HKCR,Folder\%SHEX%\%RUNEXTKEY%,,,"{%CSID00%}"

; TweakUI
HKLM,"Software\Microsoft\Windows\CurrentVersion\Run",,,"RUNDLL32.EXE TWEAKUI.CPL,TweakMeUp"


[Strings]
; Hivecls.inf
MS_DOS_APPLICATION="PC-DOS Application"
MS_DOS_BATCH_FILE="PC-DOS Batch File"

; Hivesys.inf
INSTALL_LANGUAGE="0C09"

; International
INTL_ICALENDAR="1"
INTL_ICOUNTRY="61"
INTL_ICURRDIGITS="2"
INTL_ICURRENCY="0"
INTL_IDATE="2"
INTL_IDIGITS="2"
INTL_IFIRSTWEEKDAY="6"
INTL_ILZERO="1"
INTL_IMEASURE="1"
INTL_INEGCURR="1"
INTL_ITIME="1"
INTL_ITLZERO="1"
INTL_LOCALE="00000C09"
INTL_S1159="AM"
INTL_S2359="PM"
INTL_SCOUNTRY="Australia"
INTL_SCURRENCY="$"
INTL_SDATE="/"
INTL_SDECIMAL="."
INTL_SLANGUAGE="ENA"
INTL_SLIST=","
INTL_SLONGDATE="dddd, d MMMM, yyyy"
INTL_SSHORTDATE="yyyy/MM/dd"
INTL_STHOUSAND=","
INTL_STIME=":"
INTL_STFORMAT="HH:mm:ss"
; Marquee
SCREEN_SAVER_MARQUEE_FONT="Georgia"
SCREEN_SAVER_MARQUEE_TEXT="Windows 2000 Professional"

; Shell Folders
DEFAULT_PROFILES_DIR="%SystemDrive%\USERS"
DEFAULT_USER="Default"
ALL_USERS="Public"

TEMP_DIR="%USERPROFILE%\Temp"

U_SHELL_FOLDERS_APPDATA="%USERPROFILE%\AppData"
U_SHELL_FOLDERS_DESKTOP="%USERPROFILE%\W\Desktop"
U_SHELL_FOLDERS_FAVORITES="%USERPROFILE%\Favorites"
U_SHELL_FOLDERS_NETHOOD="%USERPROFILE%\NetHood"
U_SHELL_FOLDERS_PERSONAL="%USERPROFILE%\Personal"
U_SHELL_FOLDERS_PRINTHOOD="%USERPROFILE%\PrintHood"
U_SHELL_FOLDERS_PROGRAMS="%USERPROFILE%\Start Menu\Programs"
U_SHELL_FOLDERS_RECENT="%USERPROFILE%\Recent"
U_SHELL_FOLDERS_SENDTO="%USERPROFILE%\SendTo"
U_SHELL_FOLDERS_START_MENU="%USERPROFILE%\Start Menu"
U_SHELL_FOLDERS_STARTUP="%USERPROFILE%\Start Menu\Programs\Startup"
U_SHELL_FOLDERS_TEMPLATES="%USERPROFILE%\Templates"
U_SHELL_FOLDERS_COOKIES="%USERPROFILE%\Cookies"
U_SHELL_FOLDERS_MYPICTURES="%USERPROFILE%\Personal\Pictures"
U_SHELL_FOLDERS_LOCAL_SETTINGS="%USERPROFILE%\Local"
U_SHELL_FOLDERS_LOCAL_APPDATA="%USERPROFILE%\AppData"
U_SHELL_FOLDERS_CACHE="%USERPROFILE%\Temporary Internet Files"
U_SHELL_FOLDERS_HISTORY="%USERPROFILE%\History"

; runext.dll
NAME="Run shell extension"
RUNEXTKEY="RunExt"
SHEX="shellex\ContextMenuHandlers"
CSID00=2AD91900-A873-11cf-9A80-00AA00C16E65

Edited by os2fan2
Link to comment
Share on other sites

  • 4 months later...

Dear red2k - to keep things simple, with my W2k SP4 czech install I just replaced the SETUREG.HIV and hooray! It works and now I can install on 320G HDD, witch was impossible to see/format before this change.

Many people in the thread claim, that it can be done "after" or use install just on small OS partition to make it work. WRONG!

I use 320G HDD and only 2G OS FAT32 partition (rest NTFS data) and Win2k SP4 refuse to install on the 2G partition, because they claim it is "damaged" and they have to format it. However the format run VERY slow and at the end it just say that it cannot do the job, because HDD is damaged!

Now, after your fix, it all run just PURRRRRRFECTLY! Thanks a lot!

Link to comment
Share on other sites

  • 1 year later...

So guys, how and what would be the solution to add EnableBigLba support into the installation disc? I really having hard times here, because after windows 2000 installation it is too late to add... I think I've 20 times reinstalled windows 2000 on 500GB HDD...

Link to comment
Share on other sites

  • 1 year later...

You really need to modify setup.hiv as through my batch file.  This is because the full disk needs to be seen by setup, and setup.hiv is the registry here.  setup.hiv is the first half of the system hive. 

Because this represents an inactive windows setup, CurrentControlSet does not exist, and you have to modify ControlSet000 instead.  This is what my batch file does.  If ye plan to install other drivers, you should use the same controlset000.

You don't need to insert any LBA fix into the hive*.inf files, as it is done already in the setup.hiv

Link to comment
Share on other sites

Hi, Wendy! Long time no see!

@LeakHunter - The very first box in said post alters SETUPREG.HIV off-line. You need to "dump" the CD to the HDD on another NT-type system and run that "script" to add that entry then completely Reburn the CD (bootable, of course). If you have an ISO-editing program (e.g UltraIso) then just extract the ISO Image from the CD, copy the SETUPREG.HIV "somewhere", fix it using the Script, replace it in the Image, and Reburn. Then just boot to it in YOU computer and it just works!

HTH

Link to comment
Share on other sites

  • 1 year later...

I took a different approach to this problem.
I Patched the Disk Driver so that 48-Bit LBA was enabled regardless of the Registry setting.
This allowed me to Install and run 2000 SP4 from the high end of a 1TiB Hard Drive.

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...
  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...