Here below the different steps to backup or clone a (physical or logical) disk (hosting any operating system) using WinPE and CloneDisk.
1.Getting tools
First, lets get the needed files and prepare our working folder :
QuickPE and unzip it to x:\quickpe.
CloneDisk and unzip it to x:\quickpe\extra
2.Preparing
Now, lets prepare our WinPE iso
Generate your WinPE iso using any of the option that suit you best : use WAIK or ADK or your sytem WinRE or a DVD or an ISO …
3.Booting
At this point, you have an iso file in x:\quickpe\x86 named winxx.iso.
you can either burn it to cd/dvd (easiest path),
« burn » to a usb stick with rufus
or (more complex) boot it thru pxe (using these guides).
4.Networking
This step is needed only if you intend to backup your drive to an image file over a network drive.
Once booted, ensure you have a correct network setup using PeNetwork : click on the info button.
Provided, you have a network connectivity, then map a network drive, still using PeNetwork.
5.Backuping
Now, launch clonedisk from x:\extra folder, choose your source drive and either back it up to your network drive or clone your source drive to a new target drive.
needed :
–tiny pxe server
–Partition Wizard
put pwhe8.iso in x:\pxe\iso
use the below ipxe script :
#!ipxe
set boot-url http://${dhcp-server}
initrd ${boot-url}/iso/pwhe8.iso
kernel ${boot-url}/memdisk iso
boot
name it pwhe8.ipxe and put it in x:\pxe
put ipxe-undionly.kpxe in x:\pxe
launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/pwhe8.ipxe.ipxe
push the online button
pxe boot your computer and here we go
needed :
–tiny pxe server
–Clonezilla
open clonezilla.iso in winrar (or any other iso reading capable tool).
extract live folder to x:\pxe\iso\clonezilla
use the below ipxe script :
#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/ISO/clonezilla/live/vmlinuz boot=live config noswap nolocales edd=on nomodeset vga=788 nosplash noprompt fetch=http://${dhcp-server}/ISO/clonezilla/live/filesystem.squashfs
initrd ${boot-url}/ISO/clonezilla/live/initrd.img
boot
name it clonezilla.ipxe and put it in x:\pxe
put ipxe-undionly.kpxe in x:\pxe
launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/clonezilla.ipxe
push the online button
pxe boot your computer and here we go
needed :
–tiny pxe server
–winnfsd
–redo backup recovery
open redobackup.iso in winrar (or any other iso reading capable tool).
extract casper folder to x:\pxe\iso\redobackup (or any path that suit you)
launch winnfsd with the following :
winnfsd.exe -id 0 0 x:\pxe\iso\redobackup
note : adapt the above path with your own path
use the below ipxe script :
#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/iso/redobackup/casper/vmlinuz boot=casper netboot=nfs nfsroot=${dhcp-server}:/x/pxe/ISO/redobackup
initrd ${boot-url}/iso/redobackup/casper/initrd.lz
boot
note : adapt /x/pxe/ISO/redobackup to your own path.
name it redo.ipxe and put it in x:\pxe
put ipxe-undionly.kpxe in x:\pxe
launch tiny pxe server with the following settings (leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/redo.ipxe
push the online button
pxe boot your computer and here we go
Check it here
Check it here
Here below a quick how to use an arduino and a cheap enc28j60 ethernet module (5€).
Can be handy to built a quick web server and some sensors (like a ds18b20 for example).
below the wiring :
below a sketch using the ethercard library (provided with Arduino GUI) :
// Present a "Will be back soon web page", as stand-in webserver. // 2011-01-30http://opensource.org/licenses/mit-license.php #include #define STATIC 0 // set to 1 to disable DHCP (adjust myip/gwip values below) #if STATIC // ethernet interface ip address static byte myip[] = { 192,168,1,200 }; // gateway ip address static byte gwip[] = { 192,168,1,1 }; #endif // ethernet mac address - must be unique on your network static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; byte Ethernet::buffer[500]; // tcp/ip send and receive buffer char page[] PROGMEM = "HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\n" "Retry-After: 600\r\n" "\r\n" "" " " "my web page" " " "" "hello world !
" "" "" ; void setup(){ Serial.begin(38400); Serial.println("\n[backSoon]"); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println( "Failed to access Ethernet controller"); #if STATIC ether.staticSetup(myip, gwip); #else if (!ether.dhcpSetup()) Serial.println("DHCP failed"); #endif ether.printIp("IP: ", ether.myip); ether.printIp("GW: ", ether.gwip); ether.printIp("DNS: ", ether.dnsip); } void loop(){ // wait for an incoming TCP packet, but ignore its contents if (ether.packetLoop(ether.packetReceive())) { memcpy_P(ether.tcpOffset(), page, sizeof page); ether.httpServerReply(sizeof page - 1); } }