Tuesday, 10 June 2014

Easy2Boot 1.42 - now no need to defrag ISO files (sort of)

As I am sure you know, Easy2Boot uses a grub4dos feature which can map an ISO to a partition table so that when linux boots, it sees the partition table as a valid filesystem and thus linux can mount the 'ISO file' and be able to access the files inside it.

This feature uses the partnew command in grub4dos and the partnew command can only map a file as a partition if the file is contiguous (and exists on the same physical drive).

I have added a new feature to E2B v1.42 which will check to see if the ISO file is contiguous and if not, it will copy the contents of the whole ISO file using dd into a pre-existing CONTIG.ISO dummy file which is already contiguous (maximum size 3.999GB).

Note: v1.52+ now has a 500MB CONTIG.ISO file in the download.


To use the new feature, just download and update your existing E2B USB drive with the Easy2Boot_v1.42.zip file contents (available in the Google Drive Alternate Download area here).

The pre-existing file must now be created by you. It must be called \_ISO\CONTIG.ISO and needs to be as big as your largest ISO file (it must NOT exceed 3.99GB due to an issue with grub4dos). To make it, just copy your largest ISO file to the E2B USB \_ISO folder and rename it CONTIG.ISO. Alternatively, you can use the RMPrepUSB - Create Ext2 FS button to make a large empty file and then move and rename that file (it doesn't matter what the contents are inside the file). Once it is made, you must make sure it is contiguous (e.g. by using RMPrepUSB - Ctrl+F2 or DeFraggler, etc.).

Once you have made the CONTIG.ISO file contiguous, you can add your ISO payload files and you won't need to defragment them each time (though it will be much faster if you do!).

This new feature does NOT work for .imgPTN files or Windows Install ISOs and won't work for any .mnu files which use partnew such as linux+persistence menu files.

For ISO files, here are some timings for E2B to copy an entire ISO file to the CONTIG.ISO file using dd - I was using a Pretec USB 3.0 Removable-type Flash drive (write speed approx 17MB/s):

1. EeePC - USB 2.0 port - 25 seconds for 100MB ISO (104 seconds for 390MB ISO)
2. EeePC - USB 2.0 port - using the grub4dos 0.4.6a USB 2.0 driver - 6 seconds for 100MB ISO (23 seconds for 390MB ISO)

As you can see, if you use the grub4dos 46a driver, the time is largely dependent upon the write speed of the USB drive (or approx. 30MB/s for USB 2.0 if the media write speed is faster than 30MB/s).

Therefore, if you have a large ISO which is fragmented, it is probably quicker to first select grub4dos 0.4.6a from the main E2B menu and then select the grub4dos USB 2.0 Driver menu option to load the grub4dos driver first as it seems MUCH faster than the (Asus EeePC) BIOS USB 2.0 driver.

Larger files will obviously take several minutes to copy even if using the grub4dos USB driver. However, at least you can boot a fragmented file if you forgot to make it contiguous first! A USB 3.0 HDD will be faster, a USB 2.0 cheap flash drive will be slower.

If CONTIG.ISO is not present, then it will just behave as before (and warn you that the ISO is not contiguous).

As this change is very new (and I may have broken something - though I have tested it), I have not updated the links on the Easy2Boot download page yet. Please let me know if it works for you (or not)!
Note: a 500Mb CONTIG>ISO is now included in the E2B download zip file as standard!

Tip: To boot to grub4dos 0.4.6a automatically, copy the file from \_ISO\e2b\grub\grldr_046 to the root of the E2B drive and rename it to grldr to replace the 0.4.5c version of grldr - AND/OR - add a \_ISO\MyE2B.cfg file by copying the Sample_MyE2B.cfg file and uncomment the line 'set GRUB_USB=Y' to automatically load the 0.4.6a USB driver when E2B loads.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Sunday, 8 June 2014

RMPrepUSB v2.1.722 available

Pressing Ctrl+F2 was too much effort to run WinContig each time I added a file to my USB drive, so now I can just right-click on the drive in the RMPrepUSB Drive listbox to run WinContig immediately, or right-click on the Refresh button to run WinContig on the currently selected drive.

I have also updated the versions of WinContig and HashMyFiles.

The new version is here.

Saturday, 7 June 2014

Increase the speed of your SD card or Flash drive by up to 10%

Just in case didn't know, if you format your SD card or Flash drive as FAT32  (which is used by many SD cards in cameras), then by formatting it using RMPrepUSB you can increase the write performance by up to about 10%.

This speed increase can only be measured when writing files - many benchmark tests will not show any increase in write speed because they do not write files when they run their tests. However, in real life, we write files to these devices and the files are written in groups of sectors called clusters to the FAT32 filesystem on the drive.

When you format a drive as FAT32 using RMPrepUSB, the clusters are aligned to start on a 1MB boundary. This is important for flash memory because in order to write sectors, a whole page of flash memory has to be erased first. RMPrepUSB ensures these 'erase-pages' are correctly aligned with the clusters to minimise the number of erase cycles that are required. This also has the side-affect of extending the life of your flash memory as it reduces the number of  read-erase-write cycles over it's lifetime.

If you want to read a discussion on reboot.pro about this, click here. The theory for how this works is explained in this post.

So if file-write speed is an issue for you (e.g. the delay after you press the camera button to take a picture or interval between a series of pictures, or when you copy lots of files to a FAT32 USB drive) try formatting the media with RMPrepUSB next time!

Since I 'discovered' this and added this enhancement to RMPrepUSB, it has been copied by a few other people/utilities. For instance, I believe BootIce now uses the same technique now too.



Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Friday, 6 June 2014

Add MobaLiveCD.exe to your Easy2Boot USB drive

If you have RMPrepUSB or VirtualBox+DavidB's VMUB utility on a Windows system, you can boot from an E2B USB drive under a virtual machine and 'swap in' any image partition file you wish, so that you can pre-select it before you boot from that same E2B USB drive on a different 'target' system.

MobaLiveCD.exe (1.5MB) is a 'shrink-wrapped' version of QEMU and so will also allow you to boot your E2B USB drive via QEMU (similar to RMPrepUSB's QEMU F11 button in RMPrepUSB). The difference is that MobaLiveCD is designed to be portable and does not need to be installed on a Windows system first. Just copy the .exe file to your E2B USB drive and it is ready to use if you are away from your Windows system or don't have access to a VM (e.g. off-site or at a friends house).


For instance, you may have a server that has a UEFI OS pre-installed and the BIOS is in UEFI mode. You want to UEFI-boot the server from the E2B USB drive but in order to select the correct UEFI-bootable image (say MSDaRT or maybe an HP Utility) you need to boot E2B in MBR\CSM mode first. If you have MobaLiveCD.exe on the E2B USB drive, then there is no need to download and install RMPrepUSB (or QEMU manager or Virtual Box) onto a system...

1. Insert the E2B USB drive into any Windows system's USB port
2. Run MobaLiveCD.exe as Administrator directly from the E2B USB drive
3. Choose the 'Start directly from a bootable USB drive' option
4. Pick the USB drive's drive-letter
5. Say 'No' to the 'Do you want to create a hard disk image for your virtual machine?' question and allow it to boot to the E2B menu.
6. Pick the partition image file from the E2B menu and 'swap in' the new partition
7. Quit QEMU and MobaLiveCD - your E2B USB drive is now  ready for direct UEFI booting

You can also directly boot using MobaLiveCD from an ISO file (32-bit ISOs only).

Note: As an alternative, you can unzip the BOOT_ME_USING_QEMU.zip file from the Alternate Downloads Area to your E2B USB drive and then double-click on the BootUSB.cmd file to boot from the USB drive under QEMU. This should only be used for select .imgPTN files however as it does not create a virtual hard disk, does not lock the drive like RMPrepUSB does and uses a fixed memory size of 500MB.


Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Microsoft is giving away Windows 8.1 for free!

Yes - that's right free! There were rumours that the price was going to drop significantly.

According to this article and recent reports in the Press, Microsoft will be giving device manufacturers 'Windows 8.1 with Bing' for free (sorry - not free for the general public!). I am guessing this will mostly apply to small device manufacturers producing tablets and phablets ('Windows Phones and tablets smaller than 9-inches in screen size'). I am also assuming that the OS will still be locked to the device by a Product Key embedded in the device's non-volatile RAM (usually an EEROM) and so will be pretty much identical to the normal Windows 8.1 core version.

So has Microsoft gone mad? Is android/iOS/ARM such a threat to it? My take is 'No - they haven't gone mad' and 'Yes - android/iOS is a threat'. See here for current usage (and compare with Desktop OS's).

There is a clue to the real reason (I think) in the link I provided above, namely:

'Additionally, as reach expands, the opportunity for developers and their apps also increases.'

This can be interpreted as 'Windows apps and the App Store just hasn't taken off - now maybe it will!'

The problem is one of momentum - if you were an mobile app developer, what platform would you choose to produce your first and seconds versions of  your new app? Not Windows, I am guessing! The reason is that there just aren't enough devices out there. Well, if Microsoft's gamble pays off, now there could be!

Money!

But with MS it's all about money - so how are they going to make money? The answer is hidden in that sentence about developers and apps.

MS make money on every app sold. They also want to make money from selling Office 365 subscriptions (and Office). The more people that have a Windows device, the more 'opportunity' there is to sell apps and Office. Once Windows 8.1 gains a foothold, they can always start charging OEMs for Windows 9!

OEMs

But why should an OEM (device manufacturer) choose Windows 8? Well, there are a few reasons:
  1. It is now cost free
  2. The OEM will get a cut from any apps that they choose to pre-install on each device (and possibly from any future apps bought by the end user via the App Store?)
  3. The product may attract new business customers who value Windows\Office compatibility
But there are some downsides too:
  1. For any current non-Windows OEM, the 'factory systems infrastructure' required to install Windows 8 and have it ready to be activated by the end user may be a cost barrier (the Product Key presumably needs to be embedded in the device which implies BIOS modifications and factory programming on an individual device level which presents a barrier for easy mass-production).
  2. There is still a minimum specification for memory, storage, CPU speed/type and CPU power requirements which may prove challenging for a low-cost device manufacturer.
  3. Would a 'Windows' customer really choose to buy a sub-£100 device with limited memory and storage?
  4. Smaller variety and lower-quality Apps on Windows platform (MS hope this will change!)

Will it work?

If the 'free' offer applies to a wide range of devices, not only low-cost ones but all 'portable' devices, then I think it will work - but maybe not as much as MS hope. In the short term this may also harm MS's profits because their current OEMs that are already producing Windows devices will be switching to the new 'Windows 8.1 with Bing' OS pretty quickly and saving themselves a few $ in the process.

An increase in sales of Windows devices will eventually prompt the other non-Windows device manufacturers to compete and also offer Windows devices. It also means, if you are looking for a Windows device at the moment - I should wait a few months - prices should come down when the 'new' models start to hit the shelves with free Win 8.1. Non-Windows device manufacturers will need to compete with this and so they too should reduce their prices.

Note that before the new 'Windows 8 with Bing' Models start to appear, prices of the current 'Windows 8' stock will be reduced to clear before the new models start to come in. It is up to you whether to be tempted by the reduced price of these models or hold out for the new models (which should have an even lower price).

This move by MS should therefore lead to an increase in sales of x86-compatible CPUs (I am ignoring the RT version here as I think this new 'free' OS will pretty much kill it, if it wasn't already slowly dying) - so maybe time for me to invest in a few Intel shares (currently at time of writing this blog June 2014 - Intel shares = $26)?

Note: Dec 2014 - Intel shares = $36!


Thursday, 5 June 2014

Boot partitions and system partitions

The term 'boot' in my mind has always been synonymous with 'bootstrap' - a process where code is pulled up by it's own bootstraps - i.e. loaded in stages, starting with a small piece of code which then loads in a larger piece of code which then loads in an even larger piece of code - etc. etc. until we get to a full Operating System. Many years ago, I used to key in the initial octal bootstrap code using the flip-keys on a PDP 8e, which then read in a bootloader from a paper tape reader which could then read in a programming language (e.g. Algol) which could then read in an Algol program from paper tape which could then read in a whole bunch of data from yet another paper tape and finally number-crunch and draw a nice graph and 'best-fit' curve on a giant pen plotter!



I always find the Microsoft-speak terms 'boot partition' and 'system partition' confusing. Even more so when GPT-partitioned disks came along. The first sector of a bootable hard disk (if an MBR style disk) contains bootstrap code in the Master Boot Record  (note the word 'boot' just appeared twice!) - so surely this is the 'boot partition' not the 'system partition'?

So it made me chuckle to find it in 'black-and-white' that even windows.microsoft.com admits it!

'These terms can be confusing because the system partition actually contains the files used to boot Windows 7, while the boot partition contains the system files.'


Which begs the question - 'if it is so obviously confusing, then why did you choose such stupid 'official' terms in the first place!'

Now bootmgr is what most Windows installations boot to first, and bootmgr is a 'boot manager'; so we have bootstrapped to a 'boot manager' and then the boot manager can load an OS. Therefore the partition containing 'bootstrap' code should be called the 'boot' partition and the partition(s) containing the operating system should be called the Operating System partition(s). 

So how should I refer to these partitions without ambiguity? Maybe I should use the terms 'bootstrap partition' and 'OS partition'? What is your opinion?

Trust MS to totally screw everything up!




Tuesday, 3 June 2014

E2B v1.41 available (bugfix)

tacovdveer pointed out that sub-folders under \_ISO\AUTO were no longer enumerated due to a bug I accidentally introduced in v1.40!
Now fixed in v1.41. If you are updating, just download the non-DPMS version and overwrite your existing E2B files.

Saturday, 31 May 2014

Add Kali linux v1.0.7 + LUKS encrypted persistence to your E2B USB multiboot drive

Kali is the follow on from BackTrack for penetration testing. It provides a full linux development environment as well as pen-test tools. You can add Kali v 1.0.7 ISOs to your E2B USB drive and boot them with a LUKS encrypted persistence volume.

Thursday, 29 May 2014

Kolibri - a successor to MenuetOS

A few weeks ago I mentioned MenuetOS in this blog post. This is an entire OS written in assembler which can fit on a 1.44MB floppy disk. This was discontinued in about 2004 but Kalibri is it's much-improved successor.

You can download either the ISO or .img file from here.
Full FAT12/16/32 support is implemented, as well as read-only support for NTFS, ISO9660 and Ext2/3/4. Drivers are written for popular sound, network and graphics cards and USB 1.0 and 2.0.
It has network drivers, text editor, file browsers and a basic text-only web browser. To run under VBox, I had to turn off VTx CPU acceleration, set a Sound Blaster 16 audio adapter and a linux 32-bit system type.
If you need to boot from a system and get a file from a non-GPT disk very quickly and save it to a FAT32 USB drive, this could be really handy!

Tuesday, 27 May 2014

MPI Tool Pack 035 available

Changes are:
  1.  First time you ran the CSM menu you would get a 'syslinux alternative boot' menu entry - now fixed by changing PBR.BIN file which contained the 'SYSLINUX' text string.
  2. Added new menu for NTFS+FAT32 dual partitions

If E2B is on a USB hard disk we can use:

  • Partition 1 = FAT32  - for clover+E2B files
  • Partition 3 = NTFS - for Windows files

When Setup/ WinPE boots, it will be able to access the files on the NTFS partition of the hard disk.

Change #2 allows you to easily make an NTFS partition image from any Windows Vista/7/8 ISO using large install.wim files, and boot to it via Clover in UEFI mode.  This is useful if you have E2B on a Removable USB Flash drive because Windows Setup can only access the first partition on a Removable UFD and so the first partition must be NTFS. Clover needs a FAT32 partition in order to boot, so this is on the 3rd partition.

To make the files you need to:

1. Drag-n-drop the Win7/8 ISO onto the MPI_NTFS Desktop shortcut
2. Drag-n-drop an empty folder onto the MPI_FAT32 shortcut
3. Copy the two files to your E2B USB drive and name the first one with a .imgPTNLBAa file extension and the second one with no file extension (the name should NOT contain a dot) using the same file name for both files - e.g.

\_ISO\MAINMENU\Win81_x64.imgPTNLBAa   - NTFS Windows Install image + MPI+Clover
\_ISO\MAINMENU\Win81_x64                          - blank image containing just MPI+Clover

When loaded by E2B you will have:
  • Partition 1 = NTFS = Windows Install files and MPI+Clover files
  • Partition 3 = FAT32 = MPI+Clover files
It will NOT be able to boot via the UEFI system firmware because the first partition is not FAT32, however it will boot to the grub4dos CSM menu and you can then boot via Clover (which will load from the FAT32 partition as it cannot 'boot' from an NTFS partition) to the \efi\boot\bootx64.efi Windows UEFI boot file and then install Windows in UEFI mode.

This method is very easy to set up as you don't have to swap files around between the two partitions or split the install.wim file if it is larger than 4GB. The downside is that Clover may not run on all hardware (as it is a 'replacement' UEFI BIOS and is quite hardware dependent) - in which case you cannot boot it via the UEFI system firmware.

I have outlined the 4 methods of adding large-file UEFI-bootable Windows installer images here. The most reliable\versatile method is Method 1 where we use a single FAT32 partition and split the install.wim into .swm files (if required).