Showing posts with label panic. Show all posts
Showing posts with label panic. Show all posts

Saturday, November 1, 2008

Still waiting for root device II


This post is a continue part of my previouse "Still waiting for root device" post that covered several solutions including:

  • use RD=DiskXsY darwin switch
  • BIOS configuration
  • flag OSX86 partition as bootable

this post will display more good options to get pass this error, starting with the simplest:


1. Download another distribution
the simplest solution is sometimes the less obviouse, although you probably thinking "what good can another copy of Hackintosh do for my hardware compatability error?" well the thing is that OSX86 is a shrinked OSX with hacked, tweaked, opensource drivers for a PC, this what makes you PC compatible with OSX, one distribution does not include the same drivers as the other, also versions of the same published contains different drivers, for instamce Leo4All_v2 may work on your machine but Leo4All_v3 might not. so be sure to download as much distributions you can until your problem is solved.


2. Plug USB/Firewire drive (even DiskOnKey)
another simple solution is to plug an external drive like a USB or Firewire drive or even a USB DiskOnKey (size doesn't matter, in this case anyway) in your USB port and reboot the system, with the Hackintosh OSX86 DVD in the DVD drive, once the darwin countdown appear press F8 in order to get the boot prompt and use the RD=DiskXsY switch (switch use is explained in this post in greater details) and point the disk number and partition number to the external drive. this solution is only to get the installtion started, not a permanent solution, after the installation is running you can choose different combination of drivers until the installed system will load without the need to use the USB plug trick.


3. Use External DVD
if you can access external DVD drive or a SATA drive then try using it, most of the times the problem is hardware inconsistency with the driver installed on the DVD, this means that you might have a DVD that the booting driver set (this set is different then the driver it contains in order to install on your system) includes SATA harddrive driver, and your harddrive might be SATA but the DVD is IDE, and ofcource it can be vice versa, that the HD is IDE and the DVD is SATA and driver is one of them (IDE/SATA), so try to make it consistent, use the same HD and DVD type (even by plugging external DVD so it will be USB instaed of SATA or IDE) and find a distribution that will load them.


4. Play with Master/Slave settings
sometimes when your PC contains IDE hraddrive and IDE DVD you need to play with the master slave configuration (use this option only if you know what it means, this option involve openning the PC case and play with harddrive/DVD jumpers)


5. More darwin swiches to try
there are more swich you can try beside rd=diskXsY, you can read about them in this post, try these next swiches: platform=X86PC -x -f cpus=1, try them in different combinations until you succeed.


6. Create an HFS+ partition prior to the installation
if the installation cannot find your root device although you tried previouse sulutions then try creating an HFS+ partition and point to it using the rd=diskXsY at boot time.


from windows create a partition of AF type (HFS+ type), do it like this:

  • from windows press Start->run and write: cmd and press enter
  • write diskpart and press enter

  • write: list disk (it will display all available HD)

  • select the number of the one you want to install Leopard on like this: write: select disk NUM_OF_DISK and press enter (replace NUM_OF_DISK with the number of the disk you want)

  • next write: list partition and press enter

  • it will display all the partitions on that disk, now delete the partition you planed to install on like this: delete part NUM_OF_PART and press enter (replace NUM_OF_PART with the partition you wanted to install leopard on), if you don't have such partition then skip to the next part

  • create a partition of the AF type like this: write: create partition primary id=AF and press enter

  • write: active and press enter

  • reboot and try to load the installation from the DVD again

7. Copy the Extensions folder from DVD to the Harddrive
this solution is for all of you that got the "Still waiting" error after the installation processed finished and first reboot occurred. if this is your case then it means that you have succeeded to boot into the DVD inorder to install (so the correct drivers for your system reside in the DVD boot extensions folder) but when you finished installing the drivers you selected they just won't boot and the Still waiting for root device appears, then all you have to do is to copy the DVD boot extensions folder into your installed copy and by that boot from your harddrive using the DVD drivers, do it like this:


boot from the install DVD, from utilities menu item select the terminal and write the following commands, but replace the word Leopard with your installation partition name (you set it during installation):
cd /System/Library
mv /Volumes/Leopard/System/Library/Extensions /Volumes/Leopard/System/Library/Extensions.bak
cp -R Extensions /Volumes/Leopard/System/Library
cd /Volumes/Leopard/System/Library
chmod -R 755 Extensions
chown -R 0:0 Extensions

after this the system should be able to boot on its own, you may need to flag the partition as bootable read how to do this here.


8. Change the ATA driver on the DVD
this last suggestion is very good but very hard to nail. it involves hacking the IOATAFamily.kext. this is the kext that is responsible for the attached hardware on your machine (ATA= AT Attachments, SATA = Serial ATA) like IDE hard drives or CD/DVD we will insert your controller Vendor ID and Device ID to it. follow these instructions:


  • boot into windows

  • open control panel

  • find your Disk controller

  • right click and choose properties

  • chose the Details tab

  • the first line contains something like this: PCI\VEN_30BE&DEV_004A...

  • Vendor id is the 4 characters after the word: VEN_

  • Device id is the 4 characters after the word: DEV_

  • write on a paper the sting like this: 0x + VendorID + DeviceID (without plus or space for instance this example should be like this: 0x30BE004A)

  • next stage involve using MacDrive and some util that will mount your install DVD ISO file (like alcohol), you need to mount the DVD after installing MacDrive that allows you to access Mac file system,

  • cd into the folder:

  • make sure you have at least these folders in there: AppleGenericPCATA.kext AppleOnboardPCATA.kext IOATAPIProtocolTransport.kext AppleIntelPIIXATA.kext AppleVIAATA.kext AppleNForceATA.kext IOATABlockStorage.kext

  • also make sure you have the folder: /System/Library/Extensions/JMicronATA.kext (if you use a JMicron controller and IDE hard drive)

  • next open in an editor the file: /System/Library/Extensions/IOATAFamily.kext/Contents/PlugIns/AppleVIAATA.kext/Contents/Info.plist

  • find this tag: <>IOPCIPrimaryMatch< /key >

  • after it you will find a tag: <> with allot of strings like you wrote on the paper in it.

  • add your string (one you wrote on the paper, but first make sure it is not already there, if it is - abort this step (Solution 8) completely) with a space between it to the others (location isn't matter as long as it is in the tag like the others)

  • save it

  • delete the file: /System/Library/Extensions.mkext

  • save the ISO file with these changes, burn it onto a DVD, boot from it with -F at the darwin prompt.

hope all these solutions help you,
ShayBC.


You might want to read these related posts:
Still waiting for root device
Darwin Boot Options
Download Hackintosh OS X Leopard
Blinking cursor after OSX86 install
Restore bootable partition

Friday, April 11, 2008

Restore bootable partition

You have recently installed kext, application, update, another OS on a different partition and after boot all you get is a blinking cursor, and no darwin boot, and system not booting.

this post will explain step by step how to turn your partition back to a bootable state.

Data you should know.
you need to know what are you hard disk and partitions configuration,
  • how many drives do you have
  • how many partition on each drive
  • what OS and File System is installed on each Partition
  • what OS you would like to restore as primary boot loader
Solution 1:
first solution is accomplished using the "GNU Gparted Live CD", it is free Linux based application, you can download it here as an ISO file, you need to burn the iso file on to a CD and boot from it.

once you boot from the Live Cd you see this screen:


in the upper graphic parts you see square shapes that each represent a partition, above them there is a drop down that display the currently selected hard drive (in this case hda and its size is 37G), in linux (as in mac) drive is represented as file under folder dev, so the first drive is: /dev/hda.

if you choose from the drop down another driver it will display that drives partitions.
the lower table display the partitions in more details, you can see in this example that the first partition is NTFS, and it has the boot flag marked, that means that the NT file system will be booted from.

one of the thing you can do, is set a partition to being a bootable by setting the boot flag to it. you do that by right clicking with the mouse on the desired partition and choosing "manage flags" , from the pop up window check the boot flag check-box, close the window and click the "Apply Changes" button after it finish, reboot, and your HFS+ file system should be bootable again.

Solution 2:
there is another option to do this from command line using the fdisk utility available from the leopard DVD.
steps:
  1. insert the Leopard install DVD and boot from it
  2. at boot time press F8, and you will see the darwin boot screen
  3. write -s and press enter this will enter "Single User" mode
  4. execute the two lines that appear there regarding fsck and mount as described in the "Single User" post.
  5. next enter these commands:
fdisk -e /dev/rdiskX (where X stands for your leopard install hard disk number (first one is 0 second is 1 etc.))
then in the fdisk utility write ? for list of commands (help screen)



write p (short for print) and press enter then it will display a table of disks and partitions
find your HFS+ partition and remember its number (if it is the first partition it will be 1)
next write: f X where X stands for the HFS+ partition probably 1 if it is the first partition,
next write: u (short for update) and press enter
then write: w (short for write) and press enter
lastly press q (quit)
then restart and the HFS+ partition should be bootable again.

so for summary, the commands should look like this:
boot single mode (after restart press F8, at the prompt write -s and press enter)
/usr/sbin/fdisk -e /dev/rdisk0
f 1
u
w
q
Reboot

if these solutions did not help that means one of two things:
  1. you have just installed Leopard and did not install Darwin as described in the "Install Leopard" post.
  2. or for some reason your partition ID has changed from AF to something else causing the HFS+ file system to recognized incorrectly.
the first case is solved by simply installing the darwin from the DVD.
the second case can be solved from the fdisk utility instructions in this post.

Enjoy.

Thursday, April 10, 2008

How to read and understand Kernel Panic Screen


here are some Panic messages example and how to read them:


example 1:
Unresolved kernel trap(cpu 0): 0x300 - Data access DAR=0x0000000030D6334E PC=0x0000000027B5CD3C
Latest crash info for cpu 0:
Exception state (sv=0x27CA4500)
PC=0x27B5CD3C; MSR=0x00009030; DAR=0x30D6334E; DSISR=0x40000000; LR=0x27B5CD24; R1=0x0D80BAE0; XCP=0x0000000C (0x300 - Data access)
Backtrace:
0x27B5E6C4 0x27B5D82C 0x27B5607C 0x27B45C74 0x002E9A80 0x002EB94C
0x0008C248 0x00029234 0x000233F8 0x000ABEAC 0x8001016C

Kernel loadable modules in backtrace (with dependencies):
com.apple.GeForce(4.1.8)@0x27b3a000
dependency: com.apple.iokit.IOPCIFamily(1.7)@0x1d8f7000
dependency: com.apple.iokit.IOGraphicsFamily(1.4.2)@0x27867000
dependency: com.apple.iokit.IONDRVSupport(1.4.2)@0x2788b000
dependency: com.apple.NVDAResman(4.1.8)@0x278a1000

Proceeding back via exception chain:
Exception state (sv=0x27CA4500)
previously dumped as "Latest" state. skipping...
Exception state (sv=0x1D92D280)
PC=0x9000B348; MSR=0x0200F030; DAR=0x02A8A000; DSISR=0x42000000; LR=0x9000B29C; R1=0xBFFFE900; XCP=0x00000030 (0xC00 - System call)



Kernel version:
Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC

panic(cpu 0 caller 0xFFFF0003): 0x300 - Data access
Latest stack backtrace for cpu 0:
Backtrace:
0x000954F8 0x00095A10 0x00026898 0x000A8204 0x000ABB80
Proceeding back via exception chain:
Exception state (sv=0x27CA4500)
PC=0x27B5CD3C; MSR=0x00009030; DAR=0x30D6334E; DSISR=0x40000000; LR=0x27B5CD24; R1=0x0D80BAE0; XCP=0x0000000C (0x300 - Data access)
Backtrace:
0x27B5E6C4 0x27B5D82C 0x27B5607C 0x27B45C74 0x002E9A80 0x002EB94C
0x0008C248 0x00029234 0x000233F8 0x000ABEAC 0x8001016C
Kernel loadable modules in backtrace (with dependencies):
com.apple.GeForce(4.1.8)@0x27b3a000
dependency: com.apple.iokit.IOPCIFamily(1.7)@0x1d8f7000
dependency: com.apple.iokit.IOGraphicsFamily(1.4.2)@0x27867000
dependency: com.apple.iokit.IONDRVSupport(1.4.2)@0x2788b000
dependency: com.apple.NVDAResman(4.1.8)@0x278a1000
Exception state (sv=0x1D92D280)
PC=0x9000B348; MSR=0x0200F030; DAR=0x02A8A000; DSISR=0x42000000; LR=0x9000B29C; R1=0xBFFFE900; XCP=0x00000030 (0xC00 - System call
*********


OK you should understand that what happened here is that the OS has stopped working since it has a problem, the first thing it does is look for a debugger to pass the control to (since this is not a Mac OS X developer station it will not find one), next thing it will do is dump to the screen all the data it can on the incident so you or a qualified technician can understand what the problem is.

the first part (blue part) display data of the CPU registers, program control exception state for CPU number 0 (this is your first CPU) at the time of crash, this data is hex address in the memory, it will not do you much good unless you are a mega advanced user.

next part Backtrace (green part) also uses hex memory address to point the command the CPU ran before crashing, again will not do us any good.

next part (bolded black) is still regarding backtrace (what happened before the crash), but it tells us what modules (usually kext) where loaded, usually this part can tell us allot, since this loading sequence ended with crashing the OS. in this section we see the last loaded module (in this example the GeForce) and the modules it depends on that needed to be loaded before it so they probably did not cause the crash since they are already loaded (although still possible that they are the fault - but rarely they are).

next part (Red part) is the exception chain, again stating the data as hex memory address and the CPU registers, will not help us.

last interesting part is the kernel version part (orange part) this part will state what kernel you are using, name version build date and platform in this example:
Darwin
8.11.0
oct 10
PPC (Power PC)

the rest is the same data from the caller point of view but you might find different data there (i never had).

Conclusion 1: the problem is with the GeForce kext.

Example 2:
panic(cpu 0 caller 0x001A429B): Unresolved kernel trap (CPU 0, Type 14=page fault), registers:
CR0: 0x8001003b, CR2: 0x00000024, CR3: 0x00d7b000, CR4: 0x000006e0
EAX: 0x00000000, EBX: 0x02bacc00, ECX: 0x025dc9a4, EDX: 0x00000000
CR2: 0x00000024, EBP: 0x14053ef8, ESI: 0x00841684, EDI: 0x0083df64
EFL: 0x00010206, EIP: 0x003bd3b3, CS: 0x00000008, DS: 0x14050010

Backtrace, Format - Frame : Return Address (4 potential args on stack) 
0x14053d38 : 0x128d08 (0x3cb134 0x14053d5c 0x131de5 0x0) 
0x14053d78 : 0x1a429b (0x3d0e4c 0x0 0xe 0x3d0670) 
0x14053e88 : 0x19ada4 (0x14053e98 0x14053ea8 0xe 0x48) 
0x14053ef8 : 0x83df81 (0x2bacc00 0x841684 0x14053f28 0x38073e) 
0x14053f28 : 0x39c536 (0x2bacc00 0x28b9880 0x8 0x2) 
0x14053f78 : 0x13d7d9 (0x28b9880 0x2686021 0x0 0xbffff378) 
0x14053fc8 : 0x19ac1c (0x0 0x0 0x4 0x207) Backtrace terminated-invalid frame pointer 0x0
Kernel loadable modules in backtrace (with dependencies):
com.apple.driver.IOBluetoothHIDDriver(1.7.2b2)@0x8 37000
dependency: com.apple.iokit.IOBluetoothFamily(1.7.14f14)@0x6be 000
dependency: com.apple.iokit.IOHIDFamily(1.4.10)@0x531000

Conclusion 2:we probably have a problem with the Bluetooth kext.

so up to here it was easy and straight forward, the next doesn't have the loaded module part.
Example 3:
Unresolved kernel trap(cpu 0): 0x300 - Data access DAR=0x0000000000000010 PC=0x00000000000819E8
Latest crash info for cpu 0:
Exception state (sv=0x3D849280)
PC=0x000819E8; MSR=0x00009030; DAR=0x00000010; DSISR=0x40000000; LR=0x000819CC; R1=0x2720BB00; XCP=0x0000000C (0x300 - Data access)
Backtrace:
0x00032AC8 0x000823DC 0x00075F58 0x00075918 0x0006B45C 0x0006B730 
0x000578A0 0x0002921C 0x000233F8 0x000ABAAC 0x414C5945 
Proceeding back via exception chain:
Exception state (sv=0x3D849280)
previously dumped as "Latest" state. skipping...
Exception state (sv=0x42AF9280)
PC=0x9000AB48; MSR=0x0000F030; DAR=0x011DB004; DSISR=0x42000000; LR=0x9000AA9C; R1=0xF0101080; XCP=0x00000030 (0xC00 - System call)

Kernel version:
Darwin Kernel Version 8.8.0: Fri Sep 8 17:18:57 PDT 2006; root:xnu-792.12.6.obj~1/RELEASE_PPC
panic(cpu 0 caller 0xFFFF0003): 0x300 - Data access
Latest stack backtrace for cpu 0:
Backtrace:
0x00095138 0x00095650 0x00026898 0x000A7E04 0x000AB780 
Proceeding back via exception chain:
Exception state (sv=0x3D849280)
PC=0x000819E8; MSR=0x00009030; DAR=0x00000010; DSISR=0x40000000; LR=0x000819CC; R1=0x2720BB00; XCP=0x0000000C (0x300 - Data access)
Backtrace:
0x00032AC8 0x000823DC 0x00075F58 0x00075918 0x0006B45C 0x0006B730 
0x000578A0 0x0002921C 0x000233F8 0x000ABAAC 0x414C5945 
Exception state (sv=0x42AF9280)
PC=0x9000AB48; MSR=0x0000F030; DAR=0x011DB004; DSISR=0x42000000; LR=0x9000AA9C; R1=0xF0101080; XCP=0x00000030 (0xC00 - System call)

Kernel version:
Darwin Kernel Version 8.8.0: Fri Sep 8 17:18:57 PDT 2006; root:xnu-792.12.6.obj~1/RELEASE_PPC

*********


Conclusion 3: so this can happen for several reasons:
1. first option is a random memory access error, meaning that the memory has been accessed to an area that wasn't expected or allowed, maybe even an application has written into memory that it shouldn't have (that was not its space) and by that caused the OS/kernel to crash, you should check what recent applications/utilities/kext/bundle/plugin/login items you have installed and remove it or disable its launch for a while until you can sort it out.
2. second option is usually the case for real macs but also possible for PC, as simple as a hardware problem, or bad memory card that causing the problem, maybe it act badly only if it is cold (immediately after booting the machine) or when it is hot (after several hours of work, depends sometimes minutes is enough on a sunny day), another hardware problem can be any hardware that access memory asynchronously, like IO (bluetooth card, modem, wifi, network card, etc.).
3. another option is that your combination of kext and bundles is not working (maybe versions of them some are older then should be?) so for such a case i always keep a bootable/loadable System/Library/Extensions folder on the disk.
4. this option is rarely the case, but can happen, if the main boot partition doesn't have enough free space it could cause the problem, so all you need to do in this case is to boot in safe mode and free some space.
5. another simple option is the case of a kext/application/kernel trying to access a file that it doesn't have a permission to access to, this can be caused due to wrong unix file mod, in this case boot into single user and fix permissions.
6. last option (that i can think of) is a bad kernel, so since the kernel itself is badly behaving that is why there are no kext loaded yet, since the kernel hasn't finished loading the core. this is why i keep a spare bootable/loadable copy on the disk so i can boot from it on a rainy kernel problem day.

so here are some articles like 10 things to do in order to get rid of the Panic:


Enjoy (from a Panic? how can you?).

Hackintosh Hang - what to do?


this is a Troubleshooting post due to all the comments i get from users that face this problem and don't know what to do.


situation: you have recently installed a kext or some bundle that update your OS X, after reboot the system will not load and the "Gray Apple screen" displayed forever ("system Hangs at boot").
another option is: that you get a Kernel Panic message (A.K.A SOD Screen Of Death).

Solution: the solution is to first find what preventing your system from loading and fix it, or disable its load. another approach is to reverse the install of the causing problem (the kext or the bundle...)

Find out what is wrong (getting access to your system so you can try to fix it):
1. boot your computer, press F8 continueslly until you see the Darwin boot prompt

2. if you got to here then your partition is bootable, if not (try several times) then goto restore bootable partition post.

3. next write at the prompt "-v" (without the quotation marks) this will boot the OS without displaying the "Gray Apple Screen", but it will display log lines instead (A.K.A verbose mode).

5. in this mode you can see all the steps that the OS is taking in order to load, you will see kext load, bundle loaded, errors and warnings that will appear.

6. you need to search lines that looks like an error, usually contain the words "error" or "exception" in it, you should also search for the word "Panic" it means that the OS cannot continue after this point, when you find such lines read several lines before them and several lines after them (if they exist), they will tell you more what has happened or what is missing, or failing. check these Panic examples to get the idea.

7. write the lines you suspect and google for them, or you already know that they are regarding the kext or bundle you installed.

8. next reboot but this time write at the prompt "-s -f -x -v" (without the quotation marks) this will try to boot the OS into safe mode and single user for more details on the procedure goto "Boot into Single User" post.

9. if you got to this point, then your system can be launch but during GUI launch (or kext load) it fails (go to next step). if not then goto "Access OS X files externally" post and restore the backed up files prior to the recent installation, if you haven't backed up your files, then try to rename the installed files (that probably cause the panic) so the OS can't load them, and boot (in some cases it will work).

10. if you got this far then you are in a better shape then it looks now go to "fix solutions" and try them, after every "fix solution" you should try rebooting to test if the fix is enough for booting the OS, if not then press on to the next solution, if you are out of solutions then you can try one of two things: comment this article for help, or re-install, ofcourse there is always google.

Fix Solution 1:
this first solution tries to fix unix permissions for all the files on the disk,
from the command line prompt write:
diskutil repairPermissions diskXsY
where X stands for your disk number (starting from 0) and Y stands for your partition number (starting from 1), example: first primary disk on the second partition will look like this: disk0s2.
this should take a while, at the beginning you will see indication that the check has started like this: Started verify/repair permissions on disk disk0s2 Leopard
next you will see a text progress indication looking like this:
[ | 0%..10%..20%......................................... ]
if there are permission fixes you will see an indication looking like this:
Group differs on "Applications/.DS_Store", should be 80, group is 501
User differs on "Library/Internet Plug-Ins/flashplayer.xpt", should be 0, user is 501
at the end the progress will reach 100% and there will be an indication looking like this:
[ + 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% ]
Finished verify/repair permissions on disk disk0s2 Leopard

Fix Solution 2:
this fix procedure suggest to simply restore the backed up files (you should always save the kext you are about to install, i usually rename it to kextName.old and this way i can always come back to it, even if i find out in a week that there are problems with the new kext). in order to restore from single user mode do this (replace KextName with the kext name you want to restore):
cd /System/Library/Extensions
mv KextName.kext KextName.bad (this will rename the bad kext)
mv KextName.old KextName.kext (this will rename the backed up kext and set it as current)
chmod -R 755 KextName.kext (this will set the correct permissions)
chown -R 0:0 KextName.kext (this will set the ownership on files to system user (root))
rm /System/Library/Extensions.mkext (this will reset all kext caching done by OSX)

Fix Solution 3:
if you don't have a backup or the restore did not help, then the next step suggest to remove the kext/bundle/demon/application from being loaded at all, Note this will work only with non essensials files, for instance if you remove the GeForce.kext or ATIx1000.kext it is ok if you have more kext files (like default VESA driver) to take care of load generic driver, or if you get rid of PS2 or bluetooth it is ok since the max harm their absents can cause is no mouse/keyboard or no bluetooth but system will still load, but if you try to remove AppleSMBIOS.kext or AppleACPIPlatform.kext then the system will probably will not even boot into single user mode again.
so in order to rename your kext do this:
cd /System/Library/Extensions
mv KextName.kext KextName.bad
rm /System/Library/Extensions.mkext
reboot.

Fix Solution 4:
if you don't have a backup, you can try to download the kext file from the web, or extract it from the install ISO or DVD using pacifist application, or you can install a fresh copy on a different hard drive or different partition or different computer and extract the required kext from there or even the whole extensions folder.

Fix Solution 5:
some times the hang can be caused by an application or a configuration panel you installed that alter the default preferences of the OS, the way to reset it is to remove the preferences files that the application is installing and the OS will read the values from its defaults system.
in order to do that rename the files you suspect (using the mv command like before), they can be found at these folders:
/Library/Preferences/SystemConfiguration (system wide configuration files)
/Library/Services (installed services)
/Library/StartupItems (items that loads with the system)
/System/Library/LaunchDaemons (this folder contains all the demons started at boot time)
/System/Library/LaunchAgents (this folder contains all the agents started at boot time)
/Library/LaunchDaemons (this folder contains all the demons started for root user)
/Library/LaunchAgents (this folder contains all the agents started for root user)
/System/Library/SystemConfiguration (system wide configuration files)
/Users/[some user name]/Library/Preferences (preferences for specific user)

Fix Solution 6:
this solution is one step before considering re installing the OS, but it can be long and you will need another mac, the solution is to reinstall the kext/bundle/application again, perhaps the copy/install did not fully succeed. if you have installed a package file with mpkg/pkg extension then that mpkg is a folder containing folder named Packages inside it that contains all the pkg files to be installed, the pkg file is also a folder that contains archive gzip, and a set of scripts telling it what to extract and where to copy the files (there can be many places not just one directory).
if you want to manually install (or check what files where copy during the install and remove them or make sure they have been copied) then you should take the time to extract all the archive files, list the files, find them on the disk and overwrite them, or remove them.

this procedure is recommended only if you have a small list of files, there can be even a small mistakes that can cost hours of work, but what i do recommend to do before installing such a package (if it is core related like bluetooth, or airport update etc.) then do the same procedure, and find the files that are going to be replaced and back them up. you can also use pacifist on the "bom" file (next to the archive file) and see the files and folders in there.

another way is to find out what packages are already installed on your machine (and maybe uninstall the problematic) this can be done from the command line using "pkgutil" write it and press enter and you will see the help screen, you can also look inside the folders named: "Receipts" that save the pkg installed in the appropriate volume, these folders can be found:
/Library/Receipts
/Users/[some user name]/Receipts

Further Digging:
if the first verbose mode boot did not help in understanding the problem then you can search for a clue in the system log files, these log files reside in these locations:
/Library/Logs
/var/log
/Users/[some user name]/Library/Logs

Enjoy (hope this will help you).

 
the menu is from: Milonic DHTML menus