Fix ubuntu when the OS will not boot – kernel panic – kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0 – error /boot full remove old kernels from command line

To begin, it will probably take at least 30 minutes resolve this issue…

This fix solved my problem with the “vfs unable to mount root fs” error, but of course your results may vary. As always, first backup your system or do an export of the vm so you have a copy of the system as it existed before you started screwing around with it 😉

After running apt-get update / apt-get upgrade and then a reboot, you may receive the following error: kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0 on ubuntu 16.04.

In many cases this  will be due to the /boot drive becoming 100% full because many updates have been made to the kernel. By default, ubuntu will retain the old kernels and add them to the list of available kernels you can boot into in the Grub2 boot loader menu. You can confirm that your drive is full by issueing the command:

df -h

The result will likely show the following:

In order to resolve this issue and boot successfully, while you’re looking at the error during boot, (you should already be at the console), and restart the vm or computer into the Grub2 menu then choose “Advanced options for ubuntu” view where you can see a list of old kernels you can boot into. Some report you can do this booting with the Shift key held down, or in the event it’s a virtual machine, you should be able to arrow-down in the Grub start screen and choose Advanced options for ubuntu on startup:

Grub2 boot menu.

Once you go into the advanced boot menu you will likely see several kernels listed. Choose the next-oldest kernel from the top/highest version of kernels. In my case I booted into the version labeled Ubuntu, with Linux 4.4.0-57-generic (my boot menu screenshot below is clean, but you’ll likely see several kernels listed).

Cross your fingers and hope you get to your login prompt. From here I jumped on putty and connected from that client, as I prefer it over the console.

Next, login and follow the directions that I found here:

To save you the search, here are the instructions I used to first list and then remove the old kernels:

Open terminal and check your current kernel:

uname -a

DO NOT REMOVE THIS KERNEL! Make a note of the version in notepad or something.

Next, type the command below to view/list all installed kernels on your system.

dpkg --list | grep linux-image

Find all the kernels that lower than your current kernel. When you know which kernel to remove, continue below to remove it. Run the commands below to remove the kernel you selected.

sudo apt-get purge linux-image-x.x.x.x-generic


sudo apt-get purge linux-image-extra-x.x.x-xx-generic

Finally, run the commands below to update grub2

sudo update-grub2

Reboot your system.

sudo reboot

As you can see from my terminal history, I had to remove a few:

589  uname -a
 590  dpkg --list | grep linux-image
 591  sudo apt-get purge linux-image-4.4.0-21-generic
 592  sudo apt-get purge linux-image-4.4.0-22-generic
 593  sudo apt-get purge linux-image-4.4.0-24-generic
 594  df -h
 595  sudo apt-get purge linux-image-4.4.0-24-generic
 596  sudo apt-get purge linux-image-4.4.0-28-generic
 597  sudo apt-get purge linux-image-4.4.0-31-generic
 598  sudo apt-get purge linux-image-4.4.0-34-generic
 599  sudo apt-get purge linux-image-4.4.0-36-generic
 600  sudo apt-get purge linux-image-4.4.0-38-generic
 601  df -h
 602  sudo apt-get purge linux-image-4.4.0-42-generic
 603  sudo apt-get purge linux-image-4.4.0-45-generic
 604  sudo apt-get purge linux-image-4.4.0-47-generic
 605  sudo apt-get purge linux-image-4.4.0-51-generic
 606  sudo apt-get purge linux-image-4.4.0-53-generic
 607  sudo update-grub2
 608  dpkg --list | grep linux-image
 609  df -h
 610  sudo apt-get purge linux-image-extra-4.4.0-21-generic
 611  sudo apt-get purge linux-image-extra-4.4.0-22-generic
 612  sudo apt-get purge linux-image-extra-4.4.0-24-generic
 613  sudo apt-get purge linux-image-extra-4.4.0-28-generic
 614  sudo apt-get purge linux-image-extra-4.4.0-31-generic
 615  sudo update-grub2
 616  df -h
 617  sudo reboot
 618  dpkg --list | grep linux-image
 619  uname -a
 620  sudo reboot

After the reboot, you can see my /boot partition returned to a manageable size:

I hope this post helps someone save some time and help them fix their ubuntu boot problems.

Install Microsoft SQL Server on Ubuntu Linux

Microsoft has recently released a preview version of SQL Server that can be installed on Ubuntu Linux. In this article, we walk you through the installation step by step, and then connect to the server with SQL Server Management Studio (SSMS).

Read the rest of the article here:

Install Microsoft SQL Server on Ubuntu Linux

Google Cloud Platform Overview

The pace of global cloud computing is continuing to grow exponentially. While Amazon still holds the lion’s share of cloud services, Google’s Cloud Platform has been growing at the fastest pace. In this article, we’ll first examine what makes the Google Cloud Platform different; provide you with a list of its components, solutions, and features; and finish up by discussing pricing.

Cloud Services trends and opinion

According to a Synergy Research Group study: “In terms of year-over-year growth, Google enjoys the lead at 162 percent, while Azure has grown by an even 100 percent. AWS is in fourth with a 53 percent year-over-year (YoY) growth rate.…

Read the rest of the article here…

Google Cloud Platform overview

How to run Mac OS X El Capitan on Windows 7 or Windows 10 – How to build a Hackintosh VM Virtual Machine

Here is a guide to show how to build an OS X El Capitan virtual machine that runs on top of Windows 7 or Windows 10. Thanks to this video, (where only the first 3:30 minutes are relevant to this guide,) I wrote a step by step solution to building a hackintosh virtual machine that runs on top of Windows. Once you have OS X El Capitan running on Windows you can easily build a bootable OS X USB drive to further install the latest OS X operating system on a normal Mac. Building a hackintosh may be against the OS X terms of use so I don’t advise selling such a machine/solution and this guide is only for your testing and troubleshooting.

  1. Download VMware Player from official VMware website (30 day free trial):
  2. Download OS X El Capitan:
  3. Download latest Unlocker app at
  4. Unpack Unlocker and copy to the same directory as your unpacked OS X El Cap.vmdk files.
  5. Run the unlocker file named “Win-Install”
  6. Create a new folder on the desktop and name El Cap Install Folder.
  7. Open VMWare Player -> New VM -> Typical -> Install OS Later -> Mac OS 10.11 -> Install to new El Cap Install folder you created. Store as single file -> Edit VM -> Set more ram and CPU -> Select HDD and remove -> Add new HDD -> SATA -> Use existing HDD -> Browse to El Cap.vmdk you downloaded and unpacked-> Keep existing format > Remove CD/DVD -> Show all USB devices -> finish ->
  8. Open the new Virtual Machine configuration file (OS X 10.11.vmx) inside your your “El Cap Install” folder, and open with notepad.

    vmx edit
    vmx edit
  9. At the end of the file add the line:
    smc.version = "0"
  10. Save
  11. Power on the OS X VM!

*Note, if you go on to build a USB bootable os x installation drive, after you insert your USB key drive into the computer, it may not show up on your OS X desktop. To fix this, click on the USB drive icon at the bottom right-hand corner of the vmware player frame.


Excel slow when entering or putting text into cells old version issue solved

You might run into the problem or issue where it’s really slow when a user enters text into an Excel 2003 2010 2013 .xls or .xlsx cells for certain files. This input delay may be due to and advanced cell fill feature that you don’t really need. You might want to try the following fix:

  1. Open Excel
  2. Go to File -> Options -> Advanced
  3. Go the the “Enable AutoComplete for cell values”
  4. Under this setting uncheck “Automatically Flash Fill”
  5. Click OK


Hopefully this will resolve the 3 to 4 second delay when trying to type into excel cells and you can stop going crazy haha.

Adobe Acrobat Reader prints page tiny small backwards in the corner solved solution

If when you print a page from Adobe Acrobat or Reader and the page comes out very tiny as an image in the upper right corner / left corner, you may need to adjust your print settings. Go to the File menu, the click Print or his Ctrl + P. This will bring up your print dialog box. Here for some reason the checkbox “Choose paper source by PDF page size” may have been checked. This is likely the reason why the page prints tiny even thouh you have selected “Actual size” or “Print as an image”. This took a little bit of trial and error and testing, but unchecking the option “Choose paper source by PDF page size” fixes the very small image of the print job and will again print normally.


How to setup an Amazon AWS VPC, What is a VPC, and Subnets, Part 1 of 3

Amazon Web Services (AWS) provides the capacity to create a Virtual Private Cloud (VPC), which is a virtual network dedicated to your AWS account. In the first part of this three-part series, I will show you how to create a VPC with the corresponding subnets.

Read the rest of the articles Here

AWS VPC – Overview, setup, subnets

Get a list of computers, 32/64 bit architecture, Service Pack level, and IP address in active directory with PowerShell

To get an inventory .csv file list of all computers in AD, run the following command in powershell:

Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion,ipv4* | Export-Csv -Path "c:\admin\ComputersList.csv"

If you first receive the following error:

“The term ‘Get-ADComputer’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.”

This error indicates that the Active Directory module has not been imported into PowerShell. First do this by running the command:

import-module activedirectory

This script should produce and export a .csv file list that looks like the following:

Name OperatingSystem OperatingSystemServicePack OperatingSystemVersion IPv4Address
DC01 Windows Server 2008 R2 Standard Service Pack 1 6.1 (7601)
JasonCWKS Windows 7 Professional Service Pack 1 6.1 (7601)
JColtrinWin7 Windows 7 Professional Service Pack 1 6.1 (7601)

If you want to take this further, and get the csname (computer name), caption (Operating system title), OS Architecture (32/64 bit), and ServicePackMajorVersion (service pack level) from a list of IP’s that the previous command produced you can do the following:

  1. Copy the IP addresses of all the machines to a new file called win7pcs.txt and place it in C:\admin\
  2. Open Powershell ISE  and enter the following script:
$a = Get-Content "C:\admin\win7pcs.txt" 
foreach ($i in $a) 
{Get-WmiObject Win32_OperatingSystem -ComputerName $i | Format-Table csname,caption,OSArchitecture,ServicePackMajorVersion -AutoSize

This should produce the following output for each IP address:

csname caption OSArchitecture ServicePackMajorVersion
—— ——- ————– ———————–
JasonCWKS Microsoft Windows 7 Professional 64-bit 1

csname caption OSArchitecture ServicePackMajorVersion
—— ——- ————– ———————–
JcoltrinWin7 Microsoft Windows 7 Professional 32-bit 1