Search My Blog

Sunday, October 31, 2010

TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Software for Windows 7/Vista/XP, Mac OS X and Linux

T r u e C r y p t

Free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X, and Linux

Main Features:

What is new in TrueCrypt 7.0a

Statistics (number of downloads)

Site Updated September 12, 2010  •  Legal Notices  •  Sitemap  •  Search


QEMU - Wikipedia, the free encyclopedia


From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original author(s) Fabrice Bellard
Developer(s) QEMU team:
Fabrice Bellard, Paul Brook, et al.
Stable release 0.13.0[1] / October 18, 2010; 12 days ago (2010-10-18)
Operating system Cross-platform
Type Emulator
License GNU GPL version 2

QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures.

In conjunction with CPU emulation, it also provides a set of device models, allowing it to run a variety of unmodified guest operating systems; it can thus be viewed as a hosted virtual machine monitor. It also provides an accelerated mode for supporting a mixture of binary translation (for kernel code) and native execution (for user code), in the same fashion as VMware Workstation and Microsoft Virtual PC.

QEMU can also be used purely for CPU emulation for user level processes; in this mode of operation it is most similar to Valgrind.

One feature exclusive to QEMU is that of portability: the virtual machines can be run on any PC, even those where the user has only limited rights with no administrator access, making the "PC-on-a-USB-stick" concept very real. Similar applications exist (such as MojoPac) but they currently require administrator rights to run, making them useless in areas such as public libraries, internet cafes, and so on.



[edit] Licensing

QEMU was written by Fabrice Bellard and is free software. Specifically, the QEMU virtual CPU core library is released under the GNU Lesser General Public License (GNU LGPL). Many hardware device emulation sources are released under the BSD license.[2] When running on Windows, although by default it uses DirectSound, there is the option to use the proprietary FMOD library, which if used disqualifies it for a single, unified, Open Source software license.

[edit] Details

QEMU has two operating modes[3]:

User mode emulation
QEMU can launch Linux or Darwin/Mac OS X processes compiled for one CPU on another CPU. Target OS system calls are thunked for endianness and 32/64 bit mismatches. WINE Windows API reimplementation and DOSEMU are the main targets for QEMU in user mode emulation. This mode also eases cross-compilation and cross-debugging.
Complete Computer System mode emulation
QEMU emulates a full computer system, including a processor and various peripherals. It can be used to provide virtual hosting of several virtual computers on a single computer. QEMU can boot many guest operating systems, including Linux, Solaris, Microsoft Windows, DOS, and BSD [1]; it supports emulating several hardware platforms, including x86, x86-64 (AMD64/Intel 64), ARM, Alpha, ETRAX CRIS, MIPS, MicroBlaze, PowerPC and SPARC.

[edit] Features

QEMU offers many features that are also present in other emulators. For example, it can save and restore the state of the virtual machine with all programs running. As with many emulators, guest operating systems do not need to be patched to successfully run.

QEMU supports the emulation of various architectures, including IA-32 (x86) PCs, x86-64 PCs, MIPS R4000, Sun's SPARC sun4m, Sun's SPARC sun4u, ARM development boards (Integrator/CP and Versatile/PB), SH4 SHIX board, PowerPC (PReP and Power Macintosh), ETRAX CRIS and MicroBlaze architectures. The QEMU homepage provides a complete list of supported architectures.

The virtual machine can be equipped with many types of hardware. Some of these are: hard disks, CD-ROM drives, network cards, sound chips, and USB devices. USB devices can be completely emulated (mass storage from image files, input devices), or the host's USB devices can be used (however, this requires administrator privileges and does not work with all devices).

Virtual hard disk images can be stored in a special format (qcow2) that only takes up disk space that the guest OS actually uses. This way, an emulated 120 GiB disk can still take up just several hundred megabytes on the host. The QCOW2 format also allows the creation of overlay images that record the difference to another base image file which is not modified. This can be useful to have the possibility of reverting the disk's contents to an earlier state. For example, a base image could hold a fresh install of an operating system that is known to work, and the overlay images are worked with. Should the guest system be unusable (virus attack, accidental system destruction, ...), the overlay can be deleted and recreated.

QEMU can emulate network cards (of different models) which share the host system's connectivity by doing network address translation, effectively allowing the guest to use the same network as the host. The virtual network cards can also be connected to network cards of other instances of QEMU or local TAP interfaces.

It also has some features that are not present in many emulators. QEMU integrates several services to allow the host and guest systems to communicate, for example, a SMB server and network port redirection (to allow incoming connections to the virtual machine). It can also boot Linux kernels without having to prepare a bootable image with a bootloader.

QEMU does not depend on the presence of graphical output methods on the host system. Instead, it can allow one to access the screen of the guest OS via VNC. It can also use an emulated serial line, without any screen, with applicable operating systems.

Simulating multiple CPUs that can be used like a real SMP system is possible.

Unlike some other emulators, QEMU does not require administrative rights to run, except if additional kernel modules for improving speed are used (like KQEMU).

[edit] User mode emulation

QEMU mimics the hardware environment. This is what allows it to run code that was compiled for a different architecture. In practical terms this is how emulation differs from simulation. It is important because it allows code to be tested after it is compiled.

An operating system separates hardware access from the various layers of software (application-layer being the easiest to visualize). This gives rise to different access permissions or rights. In such an environment the ability to mimic hardware and to maintain control is difficult to achieve. QEMU has achieved this.

[edit] Tiny Code Generator

The Tiny Code Generator (TCG) aims to remove the shortcoming of relying on a particular version of GCC or any compiler, instead incorporating the compiler (code generator) into other tasks performed by QEMU in run-time. The whole translation task thus consists of two parts: blocks of target code (TBs) being rewritten in TCG ops - a kind of machine-independent intermediate notation, and subsequently this notation being compiled for the host's architecture by TCG. Optional optimisation passes are performed between them.

TCG requires that there be dedicated code written to support every architecture it is being run on. It also requires that the target instruction translation be rewritten to take advantage of TCG ops, instead of the previously used dyngen ops.

Starting with QEMU Version 0.10.0, TCG ships with the QEMU stable release.[4]

[edit] Accelerator

Virtualization of machines or operating systems comes at the cost of speed of execution. One tried and true method to reduce the effect (cost) are software-based drivers which perform specific functions that would otherwise be very costly to perform by the virtualization software. Two of those software programs, developed for QEMU, are KQEMU and QVM86.

[edit] KQEMU

Fabrice Bellard also wrote a Linux kernel module (with preliminary ports to FreeBSD and MS Windows) named KQEMU or QEMU Accelerator, which notably speeds up x86 emulation on x86 platforms. This is accomplished by running user mode code directly on the host computer's CPU, and using processor and peripheral emulation only for kernel mode and real mode code. KQEMU also supports a kernel emulation mode in which portions of kernel mode code run on the host's CPU.

Unlike KVM, KQEMU can execute code from many guest OSes even if the host CPU does not support hardware virtualization. KQEMU supports both x86 and x86_64 CPUs. As a future development[5] for KQEMU there are plans to support the hardware (CPU) based virtualization extensions introduced by Intel VT-x and AMD-V families of processors.

KQEMU, was initially released free of charge but was licensed as a closed-source proprietary product. However, since version 1.3.0pre10[6], released on February 5, 2007, it has been available under the GNU General Public License. QEMU versions starting with 0.12.0 (as of August 2009[update]) by default support large memory which makes them incompatible with KQEMU.[7]

[edit] QVM86

QVM86 was a Linux kernel module to provide x86 virtualization capabilities for the QEMU emulator. Virtualization allowed "emulated" code to be run natively on the host CPU, using the CPU protection mechanisms to intercept and emulate privileged events. It was licensed under GNU GPLv2 license. It was developed as a drop-in replacement for the then closed-source KQEMU, which has since been made available under the GPL. The developer of QVM86 ceased development on January 21, 2007 as they decided that the project had been rendered obsolete by the release of VirtualBox.

[edit] Hardware-assisted emulation

The MIPS-compatible Loongson-3 processor adds 200 new instructions to help QEMU translate x86 instructions; those new instructions lower the overhead of executing x86/CISC-style instructions in the MIPS pipeline. With additional improvements in QEMU by the Chinese Academy of Sciences, Loongson-3 achieves an average of 70% the performance of executing native binaries while running x86 binaries from nine benchmarks.[8]

[edit] Parallel emulation

For full system emulation, QEMU uses a single thread to emulate all the virtual CPUs and hardware. This approach can't utilize the increasing number of physical CPU cores. As the emulated number of CPUs increase, QEMU will suffer linear performance slowdown. In attempt to solve this problem, COREMU[9] tries to build a parallel emulator by using QEMU. The key observation is that CPU cores and devices in current (and likely future) multiprocessors are loosely-coupled and communicate through well-defined interfaces. Based on this observation, COREMU emulates multiple cores by creating multiple instances of QEMU binary translation engine, and uses a thin library layer to handle the inter-core and device communication and synchronization. COREMU also adds some extra features, such as smart watch point and memory tracing.[10]

[edit] Integration in other virtualization solutions

[edit] VirtualBox

In January 2007, VirtualBox was released. It uses some of QEMU's virtual hardware devices and has a built-in dynamic recompiler that is based on QEMU. As with KQEMU, it runs nearly all guest code natively on the host via the VMM (Virtual Machine Manager), and uses the recompiler only for special situations as a fallback mechanism (this holds true for guest code that executes in real mode and some other rare scenarios at runtime).[11] In addition, VirtualBox goes through a lot of code analysis and patching via a built-in disassembler to reduce usage of the recompiler to a minimum. VirtualBox is open-source software under the GPL, except for a number of enterprise features, and standard user features like USB.

As of the 3.0 release (updated 2009-07-06) VirtualBox does have support for SMP in a guest OS.

[edit] Xen-HVM

The Xen virtual machine monitor can run in HVM (hardware virtual machine) mode, using Intel VT-x or AMD-V hardware x86 virtualization extensions. This means that instead of paravirtualized devices, a real set of virtual hardware is exposed to the domU to use real device drivers to talk to.

QEMU includes several components: CPU emulators, emulated devices, generic devices, machine descriptions, user interface, and a debugger. The emulated devices and generic devices in QEMU make up its device models for I/O virtualization.[12]

Xen-HVM has device emulation based on the QEMU project to provide I/O virtualization to the VMs. Hardware is emulated via a patched QEMU "device model" (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see as hardware: a PIIX3 IDE (with some rudimentary PIIX4 capabilities), Cirrus Logic or vanilla VGA emulated video, RTL8139 or NE2000 network emulation, PAE, and somewhat limited ACPI and APIC support and no SCSI emulation.[13]

[edit] KVM

KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program access to the hardware virtualization features of various processors, with which QEMU is able to offer virtualization for x86, PowerPC, and S/390 guests. When the target architecture is the same as the host architecture, QEMU can make use of KVM particular features, such as acceleration.

[edit] Darwine

Darwine was originally intended to support compiling of Win32 source into Mach-O/PowerPC binaries for Macintosh computers. The project shifted objectives combining Wine's program loader with QEMU in user mode emulation, to allow running of Win32 binaries on Mac OS X for PowerPC.

[edit] Win4Lin Pro Desktop

In early 2005, Win4Lin introduced Win4Lin Pro Desktop, based on a 'tuned' version of QEMU and KQEMU and it hosts NT-versions of Windows. In June 2006[14], Win4Lin released Win4Lin Virtual Desktop Server based on the same code base. Win4Lin Virtual Desktop Server serves Microsoft Windows sessions to thin clients from a Linux server.

In September 2006, Win4Lin announced a change of the company name to Virtual Bridges with the release of Win4BSD Pro Desktop, a port of the product to FreeBSD and PC-BSD. Solaris support followed in May 2007 with the release of Win4Solaris Pro Desktop and Win4Solaris Virtual Desktop Server.[15]

[edit] Shortcomings

  • Incomplete support for Microsoft Windows and other host operating systems; this has improved with recent versions
  • Incomplete support for less frequently-used architectures
  • Currently only supports traditional BIOS boot model for the guest OSes, no UEFI boot model support yet on x64 systems
  • Few special device drivers (graphics, sound, IO) for guests are available, thus quite large overhead for multimedia applications. For example, a Cirrus Logic graphics chip and various popular sound cards (ES1370, Sound Blaster 16, Gravis Ultrasound and AdLib) are emulated, but they do not provide hardware-accelerated performance on the host system. Also, it supports only SDL or Cocoa video output libraries although a patch for GGI support exists[16] Virtio support for block and network is fully supported for several Linux distributions running in a VM. Virtio drivers are also now available for Windows. Recent work has added a virtual video device compatible with the VMWare video driver, however it does not support any scaled video or 3D features.

[edit] Emulated hardware platforms

[edit] x86

QEMU with the free operating system ReactOS

Besides the CPU the following is emulated:

The BIOS implementation used by QEMU starting from version 0.12 is SeaBIOS. The VGA BIOS implementation comes from Plex86/Bochs.

[edit] PowerPC

On the PowerPC target, Open Hack'Ware, an Open-Firmware-compatible BIOS, is used.

[edit] PowerMac

QEMU emulates the following PowerMac peripherals:

  • UniNorth PCI Bridge
  • PCI-VGA-compatible Graphics card which maps the VESA Bochs Extensions
  • Two PMAC-IDE-Interfaces with hard disk and CD-ROM support.
  • NE2000 PCI Adapter
  • Non Volatile RAM
  • VIA-CUDA with ADB keyboard and mouse.

[edit] PREP

QEMU emulates the following PREP peripherals:

  • PCI Bridge
  • PCI-VGA-compatible graphics card with VESA Bochs Extensions
  • Two IDE-Interfaces with hard disk and CD-ROM support
  • Floppy drive
  • NE2000 network adapter
  • Serial interface
  • PREP Non Volatile RAM
  • PC-compatible keyboard and mouse

[edit] ARM

QEMU booted into the ARM port of Fedora 8

QEMU emulates the armv5tej instruction set and all the derivative processors families like ARM7, ARM9E, ARM10E and XScale. It emulates full systems like Integrator/CP board, Versatile baseboard, RealView Emulation baseboard, XScale-based PDAs, Palm Tungsten|E PDA, Nokia N800 and Nokia N810 internet tablets etc.

[edit] SPARC

Sun SPARC-Architecture = (Scalable Processor ARChitecture)

When the BIOS in the JavaStation (sun4m-Architecture) became Version 0.8.1 Proll [17], a PROM replacement, used, in Version 0.8.2 was replaced with OpenBIOS.

[edit] Sparc32

QEMU emulates the following sun4m/sun4c/sun4d peripherals:

  • TCX Frame buffer (graphics card)
  • Lance (Am7990) Ethernet
  • Non Volatile RAM M48T02/M48T08
  • Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard and power/reset logic
  • ESP SCSI controller with hard disk and CD-ROM support
  • Floppy drive (not on SS-600MP)
  • CS4231 sound device (only on SS-5, not working yet)

[edit] Sparc64

Emulating Sun4u (UltraSPARC PC-like machine), Sun4v (T1 PC-like machine), or generic Niagara (T1) machine with the following peripherals:

  • UltraSparc IIi APB PCI Bridge
  • PCI VGA compatible card with VESA Bochs Extensions
  • PS/2 mouse and keyboard
  • Non Volatile RAM M48T59
  • PC-compatible serial ports
  • 2 PCI IDE interfaces with hard disk and CD-ROM support
  • Floppy disk

[edit] Microblaze

Supported peripherals:

  • Microblaze with/without MMU
  • timer
  • intc
  • uartlite
  • emaclite

[edit] CRIS

[edit] External patches

External trees exist supporting the following targets:

[edit] See also

[edit] References

[edit] External links

Go there...

QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures
qemu - Google Search
QEMU - Wikipedia, the free encyclopedia
QEMU is a processor emulator


How to convert VMDK virtual hard disks to Amazon Elastic Compute Cloud (EC2) AMI format

How to convert VMDK virtual hard disks to Amazon Elastic Compute Cloud (EC2) AMI format

Let me introduce the Amazon Elastic Compute Cloud (EC2) concept for a few moments:

Amazon EC2 is a web service designed to provide instantly resizable, scalable computing capacity to users around the world. It's a massive virtualization grid, located within the massive Amazon farms, providing CPU cycles and hard disk space to whoever may require them, on the fly. The only thing you have to do is pay, and not that much actually.

To be actually useful, Amazon provides the service with a very affordable price tag, comparable to what you may have to spend on buying and maintaining your own infrastructure. For home users, this may not seem like the most immediate necessity, but small to medium businesses with flexible demands will definitely like the prospect of hardware independent freedom.


Some of you will like the idea, some of you will hate it. Personally, I think this is a great project, especially since the Amazon cloud is based on Linux and mainly support Linux, creating a tremendous opportunity for the Linux market growth. Mark Shuttleworth suffered quite a bit of criticism for his intention to incorporate Amazon functionality into the upcoming Ubuntu release, but I think it's a wise step, as the merging of needs between the desktop and the Web beckons for an "ethereal"  flexibility only available in the Cloud.

At home ...

At home, you will rarely need more than classic virtualization provides. But you will probably start considering Amazon whenever the price tag of having your own database server with 16GB RAM in the living room comes up.

If ever that happens, you will want to know how to use the Amazon EC2. A full tutorial is definitely beyond the scope of this article; you have the official documentation for that.

Instead, I'm going to demonstrate but a part of the whole scheme, albeit probably the most important one that the home user might come across - the creation of Amazon virtual machine images. I'm going to show you how to convert home-brewed virtual hard disks used by VMware products into Amazon-compatible images that you can use with EC2.

Why not create Amazon images in the first place or use existing builds?

A good question! Amazon allows you to create images from scratch or use one of the existing templates (like SUSE, Ubuntu, RedHat, etc) as your starting point. However, creating images is a tad complicated. And using existing templates might not be what you want. For example, you may want to run a special, custom-configured distro or you may want to use a private, digitally-signed image that is unavailable to anyone but you.

You want total control and you can't afford to let others create the images for you.

Objective: Create image at home, then upload to Amazon

I'm narrowing down this tutorial to a very specific subject, which I find quite important. You want to have a private image, with its own certificate. You want to create it at home, at leisure, at your own time and expense, without wasting money on bandwidth and the long hours of configurations. Once it's ready, you'll convert it and upload it to Amazon storage, called Amazon Simple Storage Service (S3).

Note: You will have to have a valid Amazon EC2 account before you can put the instructions in this tutorial to any use. Furthermore, you will have to use Linux to follow the tutorial successfully. Certain tools used here are only available for Linux - not surprising, considering that Amazon runs on Linux.

First question: convert from what?

Another good question. There are many desktop virtualization formats available. However, if you run virtualization at home, there is a good chance that you're using one of VMware products. VMware uses the .vmdk format for its virtual hard disks. This is our source format, which we want to convert to Amazon Machine Image (AMI).

However, you cannot directly convert the VMDK virtual disks to AMI. To show you what needs to be done, I've written this tutorial.

Let's begin.

Step 1: Make sure you have EVERYTHING you need

Go there...



What is IEs4Linux?

IEs4Linux is the simpler way to have Microsoft Internet Explorer running on Linux (or any OS running Wine).

No clicks needed. No boring setup processes. No Wine complications. Just one easy script and you'll get three IE versions to test your Sites. And it's free and open source.

Who is the target public?

  • WebDesigners that want to move to Linux but still need to test their sites on IE.
  • People who have to open IE-only sites

The IEs installations are smaller than usual because they include only the necessary files to have a good test browser (there is no Outlook, Media Player etc).

Please, don’t use any of these IEs to navigate!! Get Firefox.

How can I get this wonderful software?

Follow me...

Go there...

IEs4Linux is the simpler way to have Microsoft Internet Explorer running on Linux (or any OS running Wine)
Internet Explorer in Linux - Tutorial


Remastersys - Create custom Ubuntu (live) CD - Tutorial

Remastersys - Create custom Ubuntu (live) CD - Tutorial

Remastersys is very handy application that allows you to clone and backup your Linux distribution, including root, home, other partitions, and all personal, custom configuration to a fully deployable, bootable live CD.

Remastersys works for several distributions, including Ubuntu and its derivatives, like Linux Mint and Klikit Linux.

Other distributions with similar capabilities include PCLinuxOS (remasterme), Fedora (Revisor), and several versions of Mandriva live CDs (MCNLive editions). In this article, we will focus on Ubuntu.

Using Remastersys is a very simple procedure. It does not require any advanced knowledge or the use of the command line (although it is possible). A very friendly GUI allows you to create your own bootable CD, along with all your documents and carefully arranged settings, in just a few minutes.

Let's begin.

Go there...

Remastersys is a tool that can be used to do 2 things with an existing Debian, Ubuntu or derivative installation
Remastersys - Create custom Ubuntu (live) CD - Tutorial
Remastersys Backup

Clonezilla How Too's

Clonezilla Live - Single machine clone system without installation

[About] [How to make] [How to use] [Step by step] [Accounts] [Advanced modes] [Acknowledgment] [Copyright] [Authors]

1. About Clonezilla Live

Clonezilla server edition is used to clone many computers simultaneously. It is an extremely useful tool, however, it does have several limitations. In order to use it, you must first prepare a DRBL server AND the machine to be cloned must boot from a network (e.g. PXE/Etherboot). To address these limitations, the Free Software Lab at the NCHC has combined Debian Live with Clonezilla to produce "Clonezilla Live," a new software that can be used to easily clone individual machines. The primary benefit of Clonezilla Live is that it eliminates the need to set up a DRBL server ahead of time and the need for the computer being cloned to boot from a network. Clonezilla Live can be used to clone individual computers using a CD/DVD or USB flash drive. Though the image size is limited by the boot media's storage capacity, this problem can be eliminated by using a network filesystem such as sshfs or samba.

2. How to make Clonezilla Live ?

To make Clonezilla live, the basic steps are to download pre-build Clonezilla Live then put it in a boot media (CD, USB flash drive or USB hard drive). Two types of files are available, iso and zip. The former one is for CD, the latter is for USB flash drive. Besides, you can put Clonezilla live on hard drive or PXE server, too.
  • For CD/DVD:
  • For USB flash drive or USB hard drive:
      To put Clonezilla live on a USB flash drive or USB hard drive, check this doc.
  • For hard drive:
      To put Clonezilla live on a harddrive with OS installed already, check this doc.
  • For PXE server:
      To put Clonezilla live on a PXE server and boot your client via PXE, check this doc.
Now you may continue with the next step to use Clonezilla live.

3. How to use Clonezilla live ?

Once you have the bootable Clonezilla Live media, as created in the previous step, you can boot it in the machine you want to clone. Remember to use the Clonezilla live media, such as CD, USB flash drive, USB hard drive, hard drive or PXE to boot the machine. For example, if you have Clonezilla Live in USB flash drive, you have to boot it via USB device (Ex. USB-HDD or USB-ZIP). If necessary, you can set the first boot priority in the BIOS as USB-HDD or USB-ZIP so that it can boot Clonezilla Live from your USB flash drive.
  • You can refer to these step-by-step examples, which provide more details, e.g. how to save an image, to restore an image, to clone disk, to create recovery CD, and more... New! Examples are updated with Clonezilla live 1.2.5-35!

  • For general introduction about using the Clonezilla live, please check this doc.

4. Accounts

In Clonezilla live, two accounts are available: (1) account "user" with sudo privilege, password is "live", (2) administration account "root", no password. Therefore you can not login as root, the only way to get root privilege is to login as user, and run "sudo su -" to become root. Note, for old clonezilla live (naming is clonezilla-live-2007XXXX), root's password is "drbllive".
For better security, it is recommended to change the passwords of user and root by command "passwd" before you allow remote access. When Clonezilla live boots, the ssh service is NOT automatically started, and the setting in /etc/hosts.deny does NOT block any connection. If you want to remotely ssh login into your Clonezilla live, you have to start ssh service by "/etc/init.d/ssh start".

5. Advanced modes

Some advanced modes are available:
  1. Create your own recovery CD or USB flash drive.
  2. Use your own script and run it on clonezilla live.
  3. Use boot parameters to pre-set some selections

6. Acknowledgment

The authors would like to thank Mr. Jr-Jung Lin from Taipei County, Mr. Wei-Ji Hsiao from Huallien County and all others who helped put together this project for their time, effort, contribution and input.


This copyright is preserved for the author and publisher. Anyone is permitted to copy and distribute verbatim copies of this document under the terms of the GNU FDL Free Documentation License. If you do make any distribution or modification of the document, please add your name to the authors list.

We recommend this document principally for works whose purpose is instruction or reference. The author and publisher will not take any responsibility if there is any damage caused by this document.

8. Authors

Steven Shiau (steven _at_ nchc org tw)
K. L. Huang (klhaung _at_ gmail com)
H. T. Wang (c00wht00 _at_ nchc org tw)
Ceasar Sun (ceasar _at_ nchc org tw)
Jazz Wang (jazz _at_ nchc org tw)
Thomas Tsai (thomas _at_ nchc org tw)

Get             Clonezilla at Fast, secure and Free Open             Source software downloads Privacy             policy

Modified: July 28 2010 03:59:37.

Go there...

Clonezilla Live on Hard Drive

In this doc we explain how to put clonezilla live in your harddrive which already has an OS installed.
Here we use grub boot loader as an example. You have to put the clonezilla live files in a FAT, ext2/3, reiserfs or any grub supported partition.
If you do not have such a partition, you can use gparted to resize your partition and create another partition to put clonezilla live. Here we assume you already have a FAT partition /dev/hda4 to put clonezilla live. This is how to do that:
  1. Boot the OS in the harddrive, saying it's GNU/Linux.
  2. Mount /dev/hda4 as /mnt, you can make it by: mount /dev/hda4 /mnt
  3. Download clonezilla live zip file, and unzip all the files in /mnt, make sure you put all the files in /mnt, say, COPYING is in /mnt/, not in any subdir. You can make it by something like: "unzip clonezilla-live-*.zip -d /mnt" (Replace clonezilla-live-*.zip with the file name you just downloaded).
  4. Change the dir name "live" under /mnt as another name, say "live-hd". You can make it by: "cd /mnt; mv live live-hd"
  5. If your grub is version 1.x, edit your grub config file /boot/grub/menu.lst, and append the following:

    title Clonezilla live on harddrive
    root (hd0,3)
    kernel /live-hd/vmlinuz1 boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/hda4 toram=filesystem.squashfs
    initrd /live-hd/initrd1.img


  6. If your grub is 2.x (grub-pc), e.g. on Debian Squeeze or Ubuntu 9.10, edit /etc/grub.d/40_custom, make it like:

    menuentry "Clonezilla" {
    set root=(hd0,4)
    linux /live-hd/vmlinuz1 boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/hda4 toram=filesystem.squashfs
    initrd /live-hd/initrd1.img

    //NOTE// In grub2, (hd0,4) means the first harddrive and the 4th partition. It's different from that in grub version 1. Then run "update-grub2" to update your grub2 config. (Thanks to Louie Chen for providing this).

    Besides, you can use only the Clonezilal live iso file in grub2 (Thanks to the patches files from grml). For example, put clonezilla-live-1.2.6-24.iso in dir /home/isos/, then make the grub2 custom menu (/etc/grub.d/40_custom) like:

    menuentry "Clonezilla live" {
    set isofile="/home/isos/clonezilla-live-1.2.6-24.iso"
    loopback loop $isofile
    linux (loop)/live/vmlinuz1 boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
    initrd (loop)/live/initrd1.img

    Then run "update-grub2" to update your grub2 config.

  1. Here we assign "live-media-path=/live-hd" since the files are not put in the default path (live). We force to use "bootfrom=/dev/hda4" (files are on /dev/hda4) so that if there is another Clonezilla live on your CD drive (e.g. /dev/hdc), the live initramfs wont's find the wrong files from your CD drvie. An extra param "toram=filesystem.squashfs" is added so that later later you can mount /dev/hda4 as clonezilla image dir if you want. If you want live-initramfs to copy all the files in /dev/hda4 to memory, you can use "toram" (not "toram=filesystem.squashfs") only. This is useful when you have some customized files you need in /dev/hda4/.
  2. Remember to check parameters in syslinux/syslinux.cfg from the zip file, copy them to here. It might be different from here, say vmlinuz path, username and hostname maybe different.
  3. If you do not change the dir name from "live" to "live-hd" in the above, you might encounter a problem when you have a version of Clonezilla live on harddrive and you want to boot your Clonezilla live CD or USB flash drive. There are some discussions about this. Check:

Get                 Clonezilla at Fast, secure and Free                 Open Source software downloads Privacy policy

Modified: September 26 2010 18:51:39.

Go there...

Clonezilla Server Edition

[How to setup] [How to use][Copyright] [Authors]

1. How to setup a Clonezilla server ?

A DRBL server must first be set up in order to use Clonezilla to do massively clone. You can use DRBL Live without installation it on a server, or to install and configure DRBL on GNU/Linux system. To install and configure a DRBL server, check this installation doc then follow it to setup such a Clonezilla server. The setup might take about 30 minutes to a few hours, it depends on your internet bandwidth. Once DRBL is installed on the server, Clonezilla is ready.

Besides, a testing feature to use Clonezilla live as the OS of client in Clonezilla SE can be found here.

When setting up the DRBL server, it is recommended to collect the MAC addresses of the client computers and let the DRBL server offer the same IP address for the clients every time it boots. If you prefer to use DRBL live, remember to isolate the network environment from others. This will keep you from cloning the system to incorrect or unknown clients. Besides, if you do not provide the static IP address to client, different operating systems (like GNU/Linux and MS windows), they use different DHCP client ID. Therefore even it's the same client, when it boots GNU/Linux via DRBL, it will leases one IP address, then next time when it boots into local MS windows, it will lease another different IP address. This is annoying sometimes. However, if you are 100% certain that no other computer will be involved in the DRBL environment, and you do not care about the different IP address leasing problem, you can use the range in dhcpd.conf. In this case, you can even use the "impatient method" to setup the DRBL environment.

2. How to use Clonezilla server edition ?

  • As root, run "/opt/drbl/sbin/dcs" in DRBL server to switch clients' mode. You will see two menus: clonezilla-start and clonezilla-stop like this:
    drbl_client_switch screenshot

    Check clonezilla-start by "space" key, various modes will be shown:
    • clonezilla-save-disk: clonezilla save disk mode
    • clonezilla-restore-disk: clonezilla restore disk mode
    • clonezilla-save-parts: clonezilla save partitions mode
    • clonezilla-restore-parts: clonezilla restore partitions mode
    • clonezilla mode
    • This is what the graphic mode looks like:


    Again, check the mode you want by "space" key, then follow the menus to do it. Once the mode in DRBL server is ready, you can boot your clients via PXE to save or restore the image.

    To stop clonezilla:
    As root, run "/opt/drbl/sbin/dcs", then choose "Clonezilla-stop". Or you can use "/opt/drbl/sbin/drbl-ocs stop".
  • Examples:
    • The following is an example of how to save an image from a single computer (called computer M) and then restore it to 39 computers in a 40-computer classroom:
      • Set the Clonezilla server to be clonezilla-save-disk mode: In the Clonezilla server,
        • run "/opt/drbl/sbin/dcs", then choose "clonezilla-start" (use the space key to mark it). Next, choose"clonezilla-save-disk" (use space key to mark it)
      • Turn on computer M, set it as network boot (PXE or etherboot) in the BIOS or by pressing the hotkey (refer to your motherboard manual) when it is booting.
      • When computer M finishes the network boot, if you do not enter image and device name when running /opt/drbl/sbin/dcs -> clonezilla-start -> clonezilla-save-disk, a prompt will ask you to name the image and choose the device. Now enter the name (e.g. nomorems) and then choose the disk you want to save it to. Otherwise, it will use the image and device name you already inputted in the clonezilla server to save the image.
      • Once the image is saved, set the mode to be clonezilla-restore-disk in the Clonezilla server. As an example, in the Clonezilla server,
        • run "/opt/drbl/sbin/dcs". Next, choose "clonezilla-start" (use space key to mark it). Next, choose "clonezilla-restore-disk" (use space key to mark it).
    The program will ask you which source image to restore. In this example, we chose the image "nomorems."
      • Make sure the clients (i.e. the computers to be cloned) will boot from the network (PXE or etherboot) then turn on the clients to let them boot from network.
      • The clients will begin to clone the system image "nomorems" to their harddisks.
      • Once all clients finish cloning, you can stop clonezilla by /opt/drbl/sbin/dcs -> clonezilla-stop.
  • More examples are available here.

  • PS: You can refer to DRBl-winroll to make the restored (cloned) MS Windows with a different hostname automatically.

3. Copyright

This copyright is preserved for the author and publisher. Anyone is permitted to copy and distribute verbatim copies of this document under the terms of the GNU FDL Free Documentation License. If you do make any distribution and modification on the documents, please add your name in the author list.

We recommend this document principally for works whose purpose is instruction or reference. The author and publisher will not take any responsibility if there is any damage caused by this document.

4. Authors

Steven Shiau (steven _at_ nchc org tw)
K. L. Huang (klhaung _at_ gmail com)
H. T. Wang (c00wht00 _at_ nchc org tw)
Ceasar Sun (ceasar _at_ nchc org tw)
Jazz Wang (jazz _at_ nchc org tw)
Thomas Tsai (thomas _at_ nchc org tw)

Get             Clonezilla at Fast, secure and Free Open             Source software downloads Privacy             policy

Modified: 2010/Sep/04

Go there...

Clonezilla Live on hard drive
Clonezilla (OpenSource clone system)

Clonezilla Live on hard drive
Clonezilla (OpenSource clone system)