Intro Download and install Frequently Asked Questions Tips and tricks

Homepage







© J.C. Kessels 2009
MyDefrag Forum
May 21, 2013, 04:53:42 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Utility to convert ntbtlog.txt to a usable filelist for MyDefrag  (Read 6470 times)
jonib
JkDefrag Hero
*****
Posts: 810


View Profile
« on: April 01, 2009, 05:35:25 am »

Hi, Inspired by HolyMan's thread to use the file info within %SystemRoot%\ntbtlog.txt to perhaps get a better boot optimization, so I made a small utility to convert to a format that MyDefrag can use with the ImportListFromFile() boolean.

This is a first version so there might be bugs, in Vista you might need to run this as an administrator to read the %SystemRoot%\ntbtlog.txt file but I have not tested so I don't know for sure.

Download here ntbtlogConv.zip readme here, it is made with Autohotkey and the source script is included.

Example use in MyDefrag script:

Code:
RunProgram("ntbtlogConv.exe")
  FileSelect # Boot Optimize
    ImportListFromFile("ntbtlogConv.txt")
  FileActions
    SortByImportSequence(Ascending)
  FileEnd

jonib
Logged

jeroen
Administrator
JkDefrag Hero
*****
Posts: 7155



View Profile WWW
« Reply #1 on: April 01, 2009, 07:13:32 am »

Thanks for your contribution, I appreciate it! I think the ntbtlog.txt file only contains a list of drivers that are loaded when booting? I haven't checked but I think it's a subset of the files listed in the "%SystemRoot%\Prefetch\Layout.ini" file. Also, the ntbtlog.txt file on my system lists a lot of drivers that are not loaded at all, does your utility include or exclude those? Also, the ntbtlog.txt file is not created by default, only after the user turns it on.
Logged
poutnik
JkDefrag Hero
*****
Posts: 1105


View Profile
« Reply #2 on: April 01, 2009, 07:18:50 am »

? Also, the ntbtlog.txt file is not created by default, only after the user turns it on.

this is probably right, I did not find it. I suppose one need to use a special boot optin with boot logging.
Logged

It can be fast, good or easy. You can pick just 2 of them....
Treating Spacehog zone by the same effort as Boot zone is like cleaning a garden by the same effort as a living room.
jonib
JkDefrag Hero
*****
Posts: 810


View Profile
« Reply #3 on: April 01, 2009, 04:14:04 pm »

I think the ntbtlog.txt file only contains a list of drivers that are loaded when booting? I haven't checked but I think it's a subset of the files listed in the "%SystemRoot%\Prefetch\Layout.ini" file.
Yes it seems to be only drivers, and the ones loaded during booting has a "Loaded driver" prefix before the driver path/name, and yes it looks like a subset of Layout.ini.
Quote
Also, the ntbtlog.txt file on my system lists a lot of drivers that are not loaded at all, does your utility include or exclude those?
Yes it's supposed to only include the ones with "Loaded driver" prefix, it should work with other languages.
Quote
Also, the ntbtlog.txt file is not created by default, only after the user turns it on.
Mine was created 2009-01-05 so I might have booted to safe mode and it was created or I might have chosen Boot Logging, I don't remember.

jonib
Logged

DIRTY_DEALER
JkDefrag Senior
****
Posts: 20


View Profile
« Reply #4 on: April 01, 2009, 07:08:18 pm »

I like the idea, however layout.ini also lists the files for my games which are on a seperate drive. It's nice to have those optimized too.
Logged
HolyMan
JkDefrag Hero
*****
Posts: 166


View Profile
« Reply #5 on: April 01, 2009, 08:18:03 pm »

Thanks for your contribution, I appreciate it! I think the ntbtlog.txt file only contains a list of drivers that are loaded when booting? I haven't checked but I think it's a subset of the files listed in the "%SystemRoot%\Prefetch\Layout.ini" file.
Isn't that what you need when you want to optimize the boot?
As far as I could see you are right it is a subset of layout.ini. The charm of it is that it contains only the bootfiles, and that it will not bring never used files to the front. The drawback is that there are more files than those loaded at boot that influence your experience of boot-speed. P.E. the *.lnk files on the desktop.
But there is a lot that you use that is not in the layout.ini file. In my case the pack of files that I accessed last week is about 10x as big as the pack mentioned in layout.ini.
Logged
poutnik
JkDefrag Hero
*****
Posts: 1105


View Profile
« Reply #6 on: April 01, 2009, 08:38:42 pm »

Isn't that what you need when you want to optimize the boot?
As far as I could see you are right it is a subset of layout.ini. The charm of it is that it contains only the bootfiles, and that it will not bring never used files to the front. The drawback is that there are more files than those loaded at boot that influence your experience of boot-speed. P.E. the *.lnk files on the desktop.
But there is a lot that you use that is not in the layout.ini file. In my case the pack of files that I accessed last week is about 10x as big as the pack mentioned in layout.ini.


I can also use fileboolean like:
Code:
(
ImportListFromBootOptimize()  and
( "set of rules if file is in layout.ini" ) 
)
or
("set of rules if file is NOT in layout.ini" )
(

the same can be used for ntbtlog.
Logged

It can be fast, good or easy. You can pick just 2 of them....
Treating Spacehog zone by the same effort as Boot zone is like cleaning a garden by the same effort as a living room.
jimbo
JkDefrag Hero
*****
Posts: 84


View Profile
« Reply #7 on: April 02, 2009, 09:36:27 am »

Thanks for your contribution, I appreciate it! I think the ntbtlog.txt file only contains a list of drivers that are loaded when booting? I haven't checked but I think it's a subset of the files listed in the "%SystemRoot%\Prefetch\Layout.ini" file.
Isn't that what you need when you want to optimize the boot?
As far as I could see you are right it is a subset of layout.ini. The charm of it is that it contains only the bootfiles, and that it will not bring never used files to the front. The drawback is that there are more files than those loaded at boot that influence your experience of boot-speed. P.E. the *.lnk files on the desktop.

Actually, no, it isn't what you want to optimize the boot.

In this context, there is absolutely no distinction between running an application and reading the exe to get the icon out of it. Both involve finding the file, seeking to its start, reading, moving on to process the next file.

Even if the exe is only wanted so that you can pull an icon out of it, you still need to seek all the way to the file and back.

If you want to optimize boot, then you need all those files close together, not just the drivers.

That said, I agree that the layout.ini file doesn't know when to stop, i.e. doesn't know when boot is over and operation of the PC has started, which is incredibly broken of it.

However, why are people so interested in optimizing boot. Sure, if I move winword.exe into the boot zone it may shave 1/10th of a second off my bootup time, but it will add that 1/10th of a second onto the time it takes to run word, which I do way more than once per reboot.

Personally, I optimize for operation of the computer. On the rare occasions when I reboot, I go and get a coffee Smiley

Logged
jonib
JkDefrag Hero
*****
Posts: 810


View Profile
« Reply #8 on: April 02, 2009, 09:43:36 am »

On the rare occasions when I reboot, I go and get a coffee Smiley
I don't drink coffee, so I need to (re)boot fast  Grin

jonib
Logged

jeroen
Administrator
JkDefrag Hero
*****
Posts: 7155



View Profile WWW
« Reply #9 on: April 03, 2009, 11:05:25 am »

I agree that the layout.ini file doesn't know when to stop, i.e. doesn't know when boot is over and operation of the PC has started, which is incredibly broken of it.
As far as I know the "layout.ini" file is created/updated after 32 applications have started. If you don't like that then you can force an update with the "Rundll32.exe advapi32.dll,ProcessIdleTasks" commandline. After that you could copy the layout file somewhere and then use it with the MyDefrag "ImportListFromFile" fileboolean.
Logged
tonne
JkDefrag Hero
*****
Posts: 55


View Profile
« Reply #10 on: April 03, 2009, 11:41:40 am »

IMO the layout.ini can be shortened to boot files only as described here http://www.kessels.com/forum/index.php?topic=1729.15.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!