Friday, 4 May 2012

How to recover from a BSOD (blue screen of death)

This tutorial is to deal with BSOD codes and how to troubleshoot them. With some research and a better understanding of BSOD codes you will be able to help fix up a series of problems, some that may prevent you from cleaning up a PC from malware, or to understand the deeper lying conditions of an unstable machine.

Repeated BSODs can cause a lot of problems to a machine, and are a source of deep frustration to a user. You will see cases where a user is unable to run an anti-virus scan or some of our tools without getting a BSOD, this has an effect on our ability to remove malware. Having a better understanding of the problems that plague a machine, rather than only concentrating on malware problems, will help you become a better staff member too ! 




Part 1 : Logs

When dealing with any computer problem, its always a good idea to get whatever logs possible that can help you fix it. For dealing with BSODs you want to get the following
  • The Windows STOP message, aka the BSOD code.
    eg : 0x000000EA or 0x000000E6
  • The users minidump files
    eg : any files in C:\Windows\MiniDump
  • Event Viewer logs



A brief explanation of these three features is below


Windows STOP messages 

These occur when something has forced Windows to stop ( obviously ). A lot of the time this can be down to hardware issues. You will often see BSODs occurring after running particularly strong malware removal tools like GMER or ComboFix. STOP messages are identified by an 8-digit hexadecimal number, but also commonly written in a shorthand 
notation; e.g., a STOP 0x0000000A may also be written Stop 0xA


Minidump files

Every time a BSOD occurs Windows will save information regarding the error message in a log file. This log file or
minidump file is saved in C:\Windows\MiniDump. This allows you to easily find out when and why a BSOD occurred. However, the minidump file is not saved in a text format, so if you try to open the file in a text editor like Notepad you won't be able to decipher the information and understand it. To analyze these files you need to use a program like BlueScreenView. More on that later


Event Viewer logs

The Event Log Service records application, security, and system events. With the event logs in Event Viewer, you can obtain information about your hardware, software, and system components, and monitor security events on a local or remote computer. Event logs can help you identify and diagnose the source of current system problems, or help 
you predict potential system problems. 

While minidump files are only created when a BSOD occurs, this is not the case for EV Logs. 


Now that we have got the three main areas to check when a BSOD occurs, lets move onto analysis.



Part 2 : Analysis

For the tutorials sake, lets assume we have the users Windows STOP message, minidump files, and EV logs. Now what ?

1) First to deal with is the STOP message. You will need to get your user to write down the BSOD details when it happens. You will then want to bring up these pages which explain the majority of BSOD codes

http://aumha.org/a/stop.htm
http://support.micro...m/search/?adv=1


Lets say your user has given you this information

PAGE_FAULT_IN_NONPAGED_AREA
Stop:0x00000050 (0xFF5AFFF8,0x00000000,0x80544A9D,0x00000000)


If you search for that in the above aumha link you will find the following

Quote
Requested data was not in memory. An invalid system memory address was referenced. Defective memory
(including main memory, L2 RAM cache, video RAM) or incompatible software (including remote control and
antivirus software) might cause this Stop message, as may other hardware problems (e.g., incorrect SCSI
termination or a flawed PCI card).



A good question to ask your user would be if he has installed any hardware or software recently.


The BSOD code has helped, but you always need to dig deeper so you can see the whole picture. While it may be likely that the above problem is hardware related, there is always the chance it isn't. Just like how we don't rely on HijackThis as the only log needed in malware removal, nor should you rely only on a BSOD code.


Note : When a BSOD occurs you should look to see if there is a file name listed to go along with the stop code and it's parameters. There isn't always one listed, but when there is it can pin-point the problem area with a quick search of the file name.




2) The next thing you want to get are the minidump files. There are two ways to go about this

Firstly, you can have the user zip and upload all his minidump files from C:\Windows\MiniDump. You then need the program BlueScreenView to "view" these. To do this you save the users minidumps anywhere on your own machine, open BlueScreenView, click Options > Advanced Options > navigate to the users minidump files ( lets say they are on your desktop ) > Click ok

You will now have an interface to analyze the users minidump files. 



To show you an example using this method, here is the output from one minidump log

==================================================
Dump File : Mini021510-02.dmp
Crash Time : 2/15/2010 17:56:46
Bug Check String : THREAD_STUCK_IN_DEVICE_DRIVER
Bug Check Code : 0x100000ea

Parameter 1 : 0x89075750
Parameter 2 : 0x89941e18
Parameter 3 : 0xb3bb2cbc
Parameter 4 : 0x00000001
Caused By Driver : nv4_mini.sys
Caused By Address : nv4_mini.sys+c9be2
File Description : 
Product Name : 
Company : 
File Version : 
Processor : 32-bit
Computer Name : 
Full Path : C:\Documents and Settings\Marko\Desktop\minidump\Mini021510-02.dmp
Processors Count : 4
Major Version : 15
Minor Version : 2600
==================================================


The key things are bolded above

Crash Time will help you narrow down what minidump files you want to analyse. A machine that may experience regular BSODs can have a lot of minidump files. If you know the approximate date of the users problems you can use this to reduce the amount of analysis required. For example, if a user was experiencing constant BSODing for the past week, there would be no point in getting minidump files from months or years ago.

Bug Check String can be considered the "name" of the BSOD code. 

Bug Check Code is the Windows STOP Message number, aka the BSOD code. On this users machine it is 0x100000ea


If you search for the Bug Check Code and String at the aumha link below

http://aumha.org/a/stop.htm

You will see that this BSOD Code is explained as the following

Quote
A device driver problem has caused the system to pause indefinitely (hang). Typically, this is caused by
a display driver waiting for the video hardware to enter an idle state. This might indicate a hardware problem
with the video adapter, or a faulty video driver.



Caused By Driver is clearly the most important area. This is the driver that probably caused the crash. 



3) The Event Viewer logs

There are a few ways you can get EV logs, you can get them through Windows, however it may be more preferable to use something like VEW which gives you a wider variety of features, and thus a better choice of EV logs to choose from. 

http://images.malwar...om/vino/VEW.exe



EV logs are definitely easier to understand than the other two. You will see a wide range of things here, whether it is
Windows informing the user that the latest update failed to install, or the users AV flagging something as malware. In the example below you can see that the users internet explorer has hung up on them


Error - 4/2/2010 8:38:53 AM | Computer Name = YOUR-6194D6D7F5 | Source = Application Hang | ID = 1002
Description = Hanging application iexplore.exe, version 8.0.6001.18702, hang module
hungapp, version 0.0.0.0, hang address 0x00000000.


Nothing terribly exciting about that, it can happen. But if the user claims this happens a lot to them and there are a series of these EV logs, then it would be possible to deduce that an add-on or extension in internet explorer is responsible for the crashes. The main use of EV logs are to support your thoughts after you have analyzed the users BSOD code and minidump files. If you have got the users minidump files for the past week to analyze, then you will want to get the last week of EV logs too. This will help pinpoint the problem, or show you what could have caused it. 



Part 3 : Solution

Now that we have got all the information relating to your users BSOD, its time to try and fix it so that they wont be
continuously plagued with this problem. The following link contains some troubleshooting methods for BSOD codes

http://aumha.org/a/stop.php#general

However it can be a complicated read so I will break it down here even more.


The main caveat to be aware of for finding a solution, is to try the simple methods first. Some of the fixes for BSODs can be very complicated, and potentially dangerous in the hands of an uneducated user, so rather than throw the kitchen sink at something from the start, use the simpler methods, that do work in most cases. They are the following
  • clean up any malware on the machine
  • run sfc /scannow
  • run chkdsk /r
  • do a windows repair
  • If you’ve recently added new hardware, remove it.

Those steps should fix most problems, test to see if this is the case, if not you need to move onto the more complicated ones.

  • Run hardware diagnostics supplied by the manufacturer.
  • Make sure device drivers and system BIOS are up-to-date. Updating the BIOS requires you to flash it using some boot disk and well planned steps 
  • If you’ve installed new drivers just before the problem appeared, try rolling them back to the older ones.
  • Open the box and make sure all hardware is correctly installed, well seated, and solidly connected.
  • Confirm that all of your hardware is on the Hardware Compatibility List. If some of it isn’t, then pay particular attention to the non-HCL hardware in your troubleshooting.
  • Investigate recently added software.
  • Examine (and try disabling) BIOS memory options such as caching or shadowing.


Some of these steps are too complicated for certain users, so be aware of this before you recommend any. To quote one of our most esteemed techs, Artellos

Quote
I always take the BIOS update as something to do last.




Part 4 : Turning on logs

In some cases you will find that the Event Viewer and Minidump are turned off. This can be down to users preference or caused by malware. Of course if these are turned off then its going to be rather hard to analyse and fix the users problem. You can do it manually by enabling it via services.msc


To turn on minidumps do the following

Go to the Control Panel and follow these steps:

1. Click the System Icon
2. Advanced Tab
3. Startup and Recovery -> Settings
4. Enable Write an Event to the system log
5. Disable Automatically Restart
6. Select the following debugging information:
  • Small memory dump (64 Kb)
  • Small Dump Directory : %SystemRoot%\Minidump

7. Confirm all and restart the computer. 


Now that you have these two key areas turned back on, all you need to do is wait for the users next crash so you can analyse the logs. 



Part 5 : Conclusion

While this tutorial could be considered "tech related", its aim is to increase the overall knowledge for all users. Troubleshooting problems like this can be intimidating, but its like everything else, its all about your level of experience and research. Hopefully now more people will be more comfortable trying to troubleshoot BSOD codes rather than feel they have to send a user to another part of the forum. 

Here are some good reference links that are worth reading

STOP Codes

http://aumha.org/a/stop.htm

General troubleshooting

http://aumha.org/a/stop.php#general

A download link for BlueScreenView and more information about how to use it

http://www.nirsoft.n...creen_view.html

Microsoft Search Index ( the best site for researching BSOD stop codes )


http://support.microsoft.com/search/?adv=1

How to drive long distance with a cat


Maybe you are moving, or going on a vacation. Follow these steps to keep your furry feline safe.

Steps

  1. 1
    Prepare the cat. Before you go, give them a flower essence. Never use sedatives. They are bad for cats, and can make them very sick. If your cat gets car sick, then give them car sicknesses pills. Otherwise, you'll do better without the medicines.
  2. 2
    Set up their spot in the car. Using pillows and other purses or totes as props, make 2 walls out of them, and leave a canyon like space for your cat to lay or sit in. Drape a towel over it all. Line with another towel. Make a small covered, dark area for the cat to hide such a fort or a cage with a towel draped over it. Keep cat toys there.
  3. 3
    Bring along a first aid kit for the cat in emergencies. Keep extra towels in case of any accidents. Keep a jug of water, and only feed the cat a little bit.
  4. 4
    Don't mess around. Honking the wheel for no reason, shining the blue lights randomly, blasting the music, turning on and of the radio or stereo, swerving or spinning the car, or playing screamo music is just as enjoyable to you as it is agitating to the cat. And don't even think speeding and getting a ticket. The bottom line is none of it is funny. Period.
  5. 5
    Give your cat a break. Take kitty for a walk on a harness or leash to let it stretch every so often. Dont use a collar, a cat can slide right out of it.

How to build a supercomputer


Build a Supercomputer
Are you in need of a machine that can deliver hundreds of trillions of floating-point calculations per second? Or are you in need of a bar story about how the supercomputer in your basement flipped a breaker? Building your own High Performance Compute cluster, a.k.a. supercomputer, is a challenge any expert geek with a weekend of free time and some cash to burn can tackle. Technically speaking, a modern, multi-processor supercomputer is a network of computers working together in parallel to solve a problem. This article will briefly describe each step in the process, focusing on hardware and software.

Steps

  1. 1
    First determine the hardware components and resources needed. You will need one head node, at least a dozen identical compute nodes, an Ethernet switch, a power distribution unit, and a rack. Determine the electrical demand, cooling and space required. Also decide on what IP address you want for your private networks, what to name the nodes, what software packages you want installed, and what technology you want to provide the parallel computing capabilities (more on this later).
    • Although the hardware can not be freely downloaded, all software listed in this how-to is and free and most are open source.
  2. 2
    Build the compute nodes. You will need to assemble the compute nodes or acquire pre-build servers.
    • The more compute nodes you build the more powerful the supercomputer!
       The more compute nodes you build the more powerful the supercomputer!
      Choose a computer server chassis that maximizes space, cooling, and energy efficiency. A reliable choice is a chassis with four nodes in a 2U space with two redundant power supplies, such as the Supermicro 2U Twin-Squared, which requires the matching Supermicro motherboards and either AMD or Intel chips, and the Intel Bobcat Peak (alro requiring proprietary motherboards).
    • Or you can utilize a dozen or so used, outdated servers - whos' whole will outweigh the sum of their parts yet save you a sizable lump of cash. All processors, network adapters, and motherboards should be identical for the whole system to play together nicely. Of course, don't forget about RAM and storage for each node and at least one optical drive for the head node.
  3. 3
    Install the servers into the rack. Start from the bottom, so the rack isn't top heavy. You will need a friend to help you with this - the dense servers can be very heavy and guiding them into the rails that hold them into the rack is difficult.
  4. 4
    Install the Ethernet switch above the server chassis. Take this moment to configure the switch: allow for jumbo frame sizes of 9000 bytes, set the IP address to the static address you decided on in step 1, and turn off unnecessary routing protocols such as STP.
  5. 5
    Intall the PDU (Power Distribution Unit). Depending on how much current you nodes can consume, you may need 220 volts for high performance computing.
  6. 6
    With everything installed, you can begin the configuration process. Linux is the de facto OS for HPC clusters, not only is it the idea environment for scientific computing, but it doesn't cost a thing to install it on hundreds or even thousands of nodes. Imagine how much it would cost to install Windows on all those nodes?
    • Begin with installing the latest version of the motherboard BIOS and firmware, which should be the same on all nodes.
    • Install your preferred linux distro on each node, with a graphical UI for the head node.
    • This author highly recommends using the Rocks Cluster Distribution. In addition to installing all the tools necessary for a compute cluster to function, Rocks uses a great method for 'distributing' many instances of itself to the nodes very quickly using PXE boot and the Red Hat 'Kickstart' procedure.
  7. 7
    Install the message-passing interface, resource-manager, and other necessary libraries. If you didn't install Rocks in the previous step, you will have to setup the necessary software to enable the parallel computing mechanisms.
    • First you will need a portable bash management system, such as the Torque Resource Manager, which allows you to break-up and distribute tasks to multiple machines.
    • Pair Torque with the Maui Cluster Scheduler to complete the setup.
    • Next you will need to install the message passing interface, necessary for the individual processes on the separate compute nodes to share the same data.
    • Don't forget the multi-threading math libraries and compilers to build your parallel computing programs. Did I mention that you should just install Rocks?
  8. 8
    Network the compute nodes together. The head node sends the compute tasks to the compute nodes, which in turn must send the result back, as well as sending messages to each other. The faster the better.
    Wire it up!
     Wire it up!
    • Use a private ethernet network to connect all the nodes in the cluster.
    • The head node can also act as a NFS, PXE, DHCP, TFTP, and NTP server over the Ethernet network.
    • You must separate this network from public networks, which ensures that broadcasted packets don't interfere with other networks in your LAN.
  9. 9
    Test the cluster. The last thing you may want to do before releasing all this compute power to your users is test it's performance. The HPL (High Performance Lynpack) benchmark is a popular choice for measuring the computational speed of the cluster. You will need to compile it from source with all possible optimizations your compiler offers for the architecture you chose.
    • You must, of course, compile from source with all possible optimization options for your platform. For example, if using AMD CPUs, compile with Open64 with -0fast optimization level.
    • Compare your results on TOP500.org to compare your cluster to the top 500 supercomputers in the world

How to Make Fresh Strawberry Pie


Fresh strawberries are used to make this no-bake pie. This pie is a particular springtime favorite dessert. Serves 8.

Ingredients

  • 9-inch, 23cm pie shell
  • 3 cups strawberries, hulled, washed and drained
  • 1 cup water
  • 3/4 cup sugar
  • 2 tablespoons cornstarch
  • 1 1/2 tablespoons butter

Steps

  1. 1
    Wash and hull strawberries. Slice the strawberries if a less chunky pie is preferred.

  2. 2
    Arrange 2 cups of the choice strawberries in the bottom of a baked 9-inch (23cm) pie shell.

  3. 3
    Crush the remaining strawberries.

  4. 4
    Transfer the crushed strawberries to a saucepan.

  5. 5
    Place on medium heat.

  6. 6
    Add the sugar.

  7. 7
    Mix until combined well.

  8. 8
    In a separate container, dissolve the cornstarch in water.

  9. 9
    Pour the mixture into the saucepan.

  10. 10
    Cook over medium heat until the mixture thickens. This should take about 3 minutes.

  11. 11
    Add butter and stir.

  12. 12
    Remove from heat and then allow the strawberry mixture to cool.

  13. 13
    Pour the strawberry mixture over the choice strawberries in the pie shell.

  14. 14
    Cover the pie with plastic wrap.

  15. 15
    Chill the pie.

  16. 16
    Garnish with sweetened whipped cream and serve.