![]() |
![]() ![]() |
Jan 10 2006, 05:34 AM
Post
#421
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Of course you can
This is what I have done for the final solution. The quick guide is just to give some inspiration and is in no way perfect. Other areas you can optimize are for example scripting the registry changes There are other files besides the .INF files that need to be changed/modified a little bit, if you need to install from a cd-rom media and make the installation procedure seamless without having to do any registry settings afterwards. The advantage is that this will allow you to install the USB boot solution on any device and also deploy it using RIS, OSD, unattended etc, without having to do any registry modification, besides the criticaldevicedatabase (CDD) part. It is the CDD part I need to complete, test and slipstream onto my final Windows installation image, before I feel ready to publish the final solution. There are a lot of pieces in the puzzle that need to fit together before we have "the perfect solution". I have also found that the bootsector on the USB device can differ just a little bit, so that you may not be able to boot the device from a different make or model than the model you created the device from. This however depends on the USB device. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
| Former_sfiorito_post |
Jan 10 2006, 06:51 AM
Post
#422
|
|
Guests |
have you actually confirmed that Standby and Hibernate work? the reason I ask is because I've had problems with that before on drives marked as "removable". On my SanDisk ExtremeI and UltraII CF cards (running through a CF-IDE adapter) the system froze only when I ran it with the cards in "removable" mode. When I used the SanDisk utility to change them to "fixed", ACPI worked fine. Last week when I tested this USB hack on my ExtremeIII in a USB card reader it froze even when I used the Hitachi filter driver. It could be only a CF thing maybe. I'll know for sure later today when I get home and test my OCZ USB stick.
As far as limiting writes to the disk, use EWF. Check out my tutorial on that here: http://osf1.gmu.edu/~sfiorito/eXPinstall.htm. You can streamline it into an XP install to make things easier. As far as disk space, I'm from the CarPC community and we have lots of experience using tools like nLite to slim down XP. My usual XP image is around 250MB for my CarPC and I've run it on CF cards and the M-Systems uDOC as small as 1GB with hibernation enabled. EWF allows for some cool scenarios when using hibernation that are very useful for "embedded" devices like a CarPC system. |
|
|
|
Jan 10 2006, 07:35 AM
Post
#423
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Hi sfiorito,
You experience around this is very very interesting. Great feedback My solution makes heavy use of the standby feature, so the answer is yes. I have disabled the hibernation feature, but when enabled it works perfectly on both USB hard drives and USB keys (only tested this with 2GB and 4GB keys). I have just tried the standby and hibernation on my Microsoft Media Center 2005 from a SD-card that runs on a shuttle PC. Both standby and hibernation works here. I'm using an internal 8-in-1 cardreader, where XP is installed on a TakeMS 4GB SD-card (133mhz). Brgds, Martin Kiaer Microsoft MVP:Security Forgot an important point. I also make sure that the USB devices are running in "non-removable" mode. If you don't do this, then standby and hibernation will probably fail. Since I use the USB devices as the primary boot media, I've decided that the "non-removable" will actually make more sense and create less trouble. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
| Former_sfiorito_post |
Jan 10 2006, 08:00 AM
Post
#424
|
|
Guests |
for my SanDisk cards I used a utility from SanDisk that changes a bit in the controller to make it "fixed", but that only works when it's connected via a CF-IDE adapter. i run the CF card in "fixed" mode connected to the CF-IDE adapter and ACPI works fine. last week when I plugged the card into the external USB card reader to test this USB booting hack it showed up as "removable" so I used the Hitachi filter to make it appear as "fixed", but Standby still made the system freeze. I wonder if this issue is only with CF cards? how did you make your other USB devices appear as "fixed" drives though? did you use the Hitachi filter from www.xpefiles.com or some other method?
|
|
|
|
Jan 10 2006, 09:03 AM
Post
#425
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
How do I make my disk appear as non-removable?
I'm still under NDA for this particular part, since my solution is used for commercial use, but here are some hints o It's all about the controller that sits inside your flash memory. You'll need a utility that supports the flash memory controller. Fortunately, there aren't that many manufactures in this area. Most USB devices are OEM'ed. o This utility will enable you to either make the USB device as removable or non-removable along with some other features such as format, partition, change vendor ID etc.. It's entirely up to the vendor of the USB devices, whether they want to release these tools or not. One vendor who I can recommend, is M-systems (who you already have experience with), from whom most of the USB vendors get their USB devices from (Kingston etc.). The tools are usually made for Windows XP embedded, but don't let that stop you Sorry I can't get more specific here. I don't have any experience with the Hitachi filter, so I can't comment or compare here. I will however look more into this, when time permits (please be patient. My calender is 300% packed, weekends included). You came with some very interesting insides on your challenges, and I will look more into it. I have many different notebooks and USB devices to test from, but I have to be very structured when I go down a certain path to test something, so everything takes time. Brgds, Martin Kiaer Microsoft MVP:Security Ups, forgot something you may wanna try. When you have booted Windows from your USB device do the following: 1) Open explorer 2) Right click on the drive --> Properties --> select the hardware tab --> Select your USB device --> click Properties --> Select the Policies tab --> Select "Optimize for performance" Check whether this will solve your problem with standby and hibernation. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
Jan 10 2006, 11:46 AM
Post
#426
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 721 Joined: 10-April 05 Member No.: 11,350 |
Hi Roland and all those like me with an older notebook with USB,
suddenly there is a great hope, that XP can boot from a superfloppy formattet USB device, even there is no normal arcpath in the boot.ini: Konstantin from the Embedded newsgroup gave me the link http://www.prime-expert.com/flashboot/ and have a look at: "Convert USB disk format Some BIOSes require that USB Flash or any other bootable USB device to be formatted as a big floppy disk, i.e. a disk without partition table and Master Boot Record (MBR). Others require USB Flash disk to be formatted same as HDD, i.e. with partition table and MBR. Some others support both options. Some old (DOS) drivers for USB Flash disks support only superfloppy format. FlashBoot support both types of format, if you choose to reformat the disk (note that reformatting may be avoided, in this case all files on the USB disk are kept intact, only a few system files required to boot the disk are added). But if you have an existing USB disk created by any third-party tool or manually, and want to convert its format from superfloppy to partitioned disk and vice versa, you..." FlashBoot User Manual Page 12 I hope that I understand, how this works. Nice to hear from you Dietmar -------------------- |
|
|
|
| Former_spaceodyssey_post |
Jan 10 2006, 12:02 PM
Post
#427
|
|
Guests |
Hi All!
@Dietmar: I've followed all the steps of your tutorial 3 for an XPE SP2 istallation on USB stick but i keep on getting BSOD!!! Today I've tried to run the same image on an IDE drive and...BSOD!!! That was really strange because in the past I've been able to correctly run undreds of different XPE images...i am wondering: am i missing some sort of essential component? I've built my image using the Standard PC component aiming to obtain a "universal" image. Any hints? |
|
|
|
Jan 10 2006, 12:27 PM
Post
#428
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 721 Joined: 10-April 05 Member No.: 11,350 |
Hi spaceodyssey,
the same happens to me. It is very strange, but I think that Windows Embedded SP2 is much more instable than Windows Embedded SP1. So I rolled complete back to SP1. You can import in SP1 also each new component, which is usefull. I build also hundreds of images with Windows Embedded SP1 and SP2 and never saw a 0x7B screen. And suddenly, if I import full USB functinality to SP2 (not SP1!!!), I got 0x7B. And that happens also on harddisk. Now I think, that I am right with which I thought at the beginning, that they had done something against USB boot on Windows Embedded SP2 because someone found out, that it is possible. Build your image with SP2 again without any USB...hihi And then: Install all USB drivers and there entries in registry after FBA...hihi, and voila... Nice to hear from you Dietmar PS: I thought, that they changed something in the Critical DeviceDatabase or in the USB drivers itself. But until now, I dont know what exact. -------------------- |
|
|
|
Jan 10 2006, 01:18 PM
Post
#429
|
|
|
Member ![]() ![]() Group: Members Posts: 63 Joined: 25-November 05 Member No.: 15,708 |
Hi martin
from my expirience with slipstreaming and winxp oem cd preparation, it should be possible to change the usb*.inf on the winxp cd. the setup process searches for usb.in_, and if that does not exist, it takes usb.inf (even if sig does not match). so expanding usb.in_ to usb.inf, making the changes, delete usb.in_, burn that on cd, that should also do the job. did you test this before? sis |
|
|
|
Jan 10 2006, 01:32 PM
Post
#430
|
|
|
Member ![]() ![]() Group: Members Posts: 15 Joined: 10-September 05 Member No.: 13,916 |
Nice to hear from you Dietmar PS: I thought, that they changed something in the Critical DeviceDatabase or in the USB drivers itself. But until now, I dont know what exact. Hi Dietmar, I've been following this thread since it started, and I'm waiting for the arrival of my laptop to try this out (cos my desktop has SP2) installed. Really appreciate your enthusiasm and interest, you have respnded to every question posed by every person on the thread fantastic |
|
|
|
| Former_Lee_post |
Jan 10 2006, 01:48 PM
Post
#431
|
|
Guests |
Agree with you tryxiej
Lee |
|
|
|
Jan 10 2006, 02:18 PM
Post
#432
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Hi Sisal,
Didn't know about this feature with the .INF files, but will definately give it a try. Thanks for the hint. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
Jan 10 2006, 05:28 PM
Post
#433
|
|
|
Gold Member ![]() ![]() ![]() ![]() Group: Members Posts: 721 Joined: 10-April 05 Member No.: 11,350 |
Hi all,
the FlashBoot utility isnt able to boot my Gericom Blockbuster Notebook from USB. I tried everything. Simple the Bios of that notebook recognices only USB floppydisks, from where I can boot. But I can not put whole XP on 1.44MB Nice to hear from you Dietmar -------------------- |
|
|
|
Jan 10 2006, 07:28 PM
Post
#434
|
|
|
Member ![]() ![]() Group: Members Posts: 63 Joined: 25-November 05 Member No.: 15,708 |
Hi
i tried to do this usb setup without the need of another installed xp for offline registry editing. first, i expanded the usb inf files, changed the contents as usual (start=3, ordergroup=boot...), built my eltorito cd, startet, txtsetup, reboot -> guess what: the next for hours i spent on getting this to work i will explain, why it is how it is, and step by step how to enable the setup-cd for usb support. ----------------------------------------------------------------- Background Knowledge the usb*.inf are copyed correctly to the windows\inf folder, but txtsetup does not a hardware recognition step. at the beginning, it loads a lot of drivers, and sees what drives appear. but it does not recognize where they come from.. this means, the service entrys from the usb*.inf files are not merged into the registry (in fact, it sees the disk over the service "disk", but without any relationship to usbstor or something the like). the windows registry is initially loaded from \i386\hive*.inf, for each hive its own dot.inf. after copying the i386 files to the usbdrive, it generates the registry out of these files. all services needed for starting windows are in the hivesys.inf. then, when the registry is initialized, it saves the (guessed? txtsetup sees usb devices as input devices. they don't have another meaning to it. so, after loading the registry hives ("Konfigurationsdatei hivesys.inf wird geladen...") , when it says "Konfiguration wird gespeichert..." it asigns each deviceclasses its own starttypes. for input devices, the starttype is obviously "start=3" (after the registry hives have been generated, getting lost start=0 entrys) to resolve this, we must 1. tell txtsetup that the usb drivers are not just inputdevices 2. setup the service registry entrys in a hive inf file ----------------------------------------------------------------- The Gory Details first, we tell txtsetup that the usb drivers are not just input devices anymore 1) open \i386\txtsetup.sif with a text editor search for the section "[InputDevicesSupport.Load]" there are five entrys, which we have to move over to the section "[BootBusExtenders.Load]" finally, it should look like that QUOTE [BootBusExtenders.Load]pci = pci.sys acpi = acpi.sys isapnp = isapnp.sys acpiec = acpiec.sys ohci1394 = ohci1394.sys usbehci = usbehci.sys usbohci = usbohci.sys usbuhci = usbuhci.sys usbhub = usbhub.sys usbstor = usbstor.sys [InputDevicesSupport.Load] usbccgp = usbccgp.sys hidusb = hidusb.sys serial = serial.sys serenum = serenum.sys 2) the same is for the sections [InputDevicesSupport] -> [BootBusExtenders] also move (cut&paste) the usb entrys. it may finally look like this: QUOTE [BootBusExtenders]pci = "PCI-Bustreiber",files.pci,pci acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394 usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci usbohci = "Open Hostcontroller",files.usbohci,usbohci usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor [InputDevicesSupport] hidusb = "HID-Parser",files.hidusb,hidusb serial = "Treiber fr seriellen Anschluss",files.none,serial serenum = "Enumerator fr seriellen Anschluss",files.none,serenum usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp now, the txtsetup knows that it should assign the usb drivers the required "start=0" entry. we can now go over to adding custom registry entrys. 3) still in txtsetup.sif, search for the section "[HiveInfs.Fresh]" this section describes inf-files, which are to be loaded on a fresh windows installation. append the line "AddReg = usbboot.inf,usbservices" into this section, so it looks as follows: QUOTE [HiveInfs.Fresh]AddReg = hivedef.inf,AddReg AddReg = hivesys.inf,AddReg AddReg = hivesft.inf,AddReg AddReg = hivecls.inf,AddReg AddReg = hiveusd.inf,AddReg AddReg = dmreg.inf,DM.AddReg AddReg = usbboot.inf,usbservices 4) search for the section "[SourceDisksFiles]", and add the line "usbboot.inf = 1,,,,,,_x,3,,3" QUOTE [SourceDisksFiles]usbboot.inf = 1,,,,,,_x,3,,3 bootvid.dll = 1,,,,,,3_,2,0,0,,1,2 kdcom.dll = 1,,,,,,3_,2,0,0,,1,2 ..... .. now close and save txtsetup.sif 5) open dosnet.inf, search for the section "[Files]" (there may be more than one section with this name. i took the second..) and insert the line "d1,usbboot.inf" QUOTE [Files]d1,usbboot.inf d1,_default.pif d1,12520437.cpx d1,12520850.cpx ..... .. now close and save dosnet.inf 6) create a textfile named "usbboot.inf" and enter the following into it: QUOTE [usbservices]HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"SCSI Miniport" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS" HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"Boot Bus Extender" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"Boot Bus Extender" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"Boot Bus Extender" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"Boot Bus Extender" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0 HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1 since we are adding custom registry entrys, it doesnt hurt to ad something like the following QUOTE HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#class_08",Service,0x00000000,"usbstor" HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#class_08",ClassGUID,0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}" HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#root_hub",Service,0x00000000,"usbhub" HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#root_hub",ClassGUID,0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}" HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#root_hub20",Service,0x00000000,"usbhub" HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\usb#root_hub20",ClassGUID,0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}" 7) create your winxp boot cd with your favourite eltoritoburner and enyjoy disclaymer: i did not test if the whole xp setup succeeds, cos i'm too tired now. i just wanted to see windows setup continuing in gui mode. gruss, sis |
|
|
|
Jan 11 2006, 03:35 AM
Post
#435
|
|
|
Member ![]() ![]() Group: Members Posts: 10 Joined: 9-January 06 Member No.: 16,564 |
Hi all, the FlashBoot utility isnt able to boot my Gericom Blockbuster Notebook from USB. I tried everything. Simple the Bios of that notebook recognices only USB floppydisks, from where I can boot. But I can not put whole XP on 1.44MB Nice to hear from you Dietmar Hi Dietmar, Tnx for the info on Flashboot. I will try using this tool tonight! Ill let you know what happened. PS. My laptop (Acer 1800) isnt old, it just has a !@#$% BIOS Maybe Acer will provide me with a better one soon (but i guess not). |
|
|
|
Jan 11 2006, 04:29 AM
Post
#436
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Hi Sis,
Thanks for your guideline. Just tested it and it seems to work perfectly. You have done a great job with this I have just reduced/optimized the CriticalDeviceDatabase, so that it shouldn't require/request any reboot when supporting different video drivers (happens when you connect to different notebooks from different vendors). I'll do some more testing and then publish my results. The CDD is not important for the boot part, but it is important for a seamless experience, if you want to make the USB key universal. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
Jan 11 2006, 04:37 AM
Post
#437
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,954 Joined: 25-July 04 From: Italy Member No.: 6,779 |
Some (random) info:
@mkiaer Very GOOD work QUOTE (mkiaer) 5) Choose to reformat USB with NTFS Unless you use the EWF filter Sfiorito suggested, it is NOT advisable to use a USB STICK formatted as NTFS, (no problems with a USB hard disk) as the filesystem will generate simply TOO MUCH write cycles (semi-journaling filesystem) wearing the flash memory prematurely. Besides there is no real reason to use NTFS on a stick, unless you need files bigger than 4 Gb (limit of FAT32) but then you would need a HUGE memory stick! QUOTE (mkiaer) How do I make my disk appear as non-removable? I'm still under NDA for this particular part, since my solution is used for commercial use, but here are some hints As I am under no NDA, I already posted some hints here: http://www.911cd.net/forums//index.php?sho...c=14181&st=378# hopefully more complete informations will be available soon. @dietmar Flashboot "probably" uses the same method makebootfat does, hinted here: http://www.911cd.net/forums//index.php?showtopic=15166&hl= http://www.911cd.net/forums//index.php?showtopic=13784&st=44 The "special" MBR used is compatible with all three standards: 1) Hard Disk (MBR) 2) ZIP drive (MBR + Active partition on 4th entry in Partition Table) 3) Superfloppy (the MBR is actually "compatible" with a BOOT record) I have NO way to test it, as I have no motherboard that behaves with Superfloppy, but as I see it, what happens (or should happen) is the following: 1) the "faulty" BIOS is only able to boot if it finds a boot record 2) once the boot record is found and NTLDR is started, it re-scans sector 0, and, as NTLDR can actually read the MBR therein, it "sees" correctly the partition table, thus assigning an arcpath of: multi(0)disk(0)rdisk(0)partition(1)\ to the stick partition The above won't probably work on motherboards that only really read USB "Floppies", i.e. 1.44 size, but there is still a (rather complex) "possibility", at least using the appropriate "Production Tool" from the manufacturer of the Controller of the USB stick. Most controllers can "behave" as they were a "multi-LUN" device, i.e. it is possible on some controllers to low-level set the controller and memory to act as two distinct drives.(of which the first one is actually divided into a "public" and a "private" - password protected - zone). If you format the first drive as floppy with NO MBR and put on it the boot record, NTLDR, NTDEDTECT.COM and BOOT.INI, and format the second drive as hard disk, with MBR and the \WINDOWS directory, you should have a replica of the "booting from emergency floppy" idea, detailed here: http://www.xxcopy.com/xxcopy33.htm This (the multi_LUN, not the boot_from_floppy) is UNTESTED yet, but could be a starting point for further analysis. Hope the above makes sense... As said, I have NO way to directly test this approach, if anyone has BOTH these: 1) a motherboard that only boots from superfloppy 2) an OTě 2168 controller based stick please contact me via PM, I will try to give more detailed instructions to start experimenting. jaclaz -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
Jan 11 2006, 05:15 AM
Post
#438
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Hi jaclaz
Thanks for your comments. Your comment about my suggestion for using NTFS is a fair point and I agree with you. (will change the guideline) But I had to make a tradeoff, due to the security of the USB key. Even though I use harddisk encryption, I need the ACL feature that NTFS gives, since the user runs as non-admin (using LUA) in Windows XP SP2 and Vista. I have tried to reduce rewrites in various ways and very few rewrites are being done to the USB key now, even during normal use. My harddisk encryption tool is sector based, so it generates almost no disk activity. But you're touching one of the most sensitive concerns that I've had with this solution. Lifetime. My keys supports 5 million rewrites (10 million unofficially) and I hope they last for at least 2 years during normal use. So far they've been working for a little over 6 months, but I'm still crossing my fingers and continue working on more optimized solutions. I haven't looked at the EWF filter, but will do so when time permits. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
Jan 11 2006, 07:02 AM
Post
#439
|
|
|
Platinum Member ![]() ![]() ![]() ![]() ![]() Group: Moderator Posts: 4,954 Joined: 25-July 04 From: Italy Member No.: 6,779 |
QUOTE (mkiaer) Your comment about my suggestion for using NTFS is a fair point and I agree with you. Yep, maybe I am "overprotective", maybe we should just see USB sticks as something with a "limited" life. I have never had an occasion of analizing a "weared out" Flash stick, I wonder if they start developing bad blocks (which can possibly, and within certain limits, be corrected with a low-level tool) or if simply a bank of memory stops working. @all I just found this project on sourceforge: http://libusb-win32.sourceforge.net/ as I am no programmer, most of it is like "Chinese" to me, but it seems like ot gives an opportunity to build a Device Driver and features a "Filter Driver" and a "test application" (the only thing I tested) that actually gives pretty complete info on the devices connected to the USB bus. ...any taker? jaclaz -------------------- - Fighting against bloatware since 2004, and proud of it. -
|
|
|
|
Jan 11 2006, 08:12 AM
Post
#440
|
|
|
Member ![]() ![]() Group: Members Posts: 26 Joined: 8-July 05 Member No.: 12,522 |
Depending on which controller that's implemented inside the USB keys, they actually do exactly what you describe. Once a cell on the flash memory "wears out", it will be marked as bad, and never used again. This is actually what M-systems are doing with their newest USB controllers, where they use 4-bit Error Detection Code/Error Correction Code (EDC/ECC), based on a patented combination of BCH and Hamming code algorithms.
I'm not an expert in this area, but some of the newest Samsung flash memeryblocks, actually extends the lifetime even further. The vendors are very carefull about giving exact garanties about life expectancy, so any number that follows the USB keys are usually minimum numbers. I have been doing some thinking however while I was sitting in the car an hour ago. - If I use FAT32 for my USB key it will boot the various Windows versions on most computer (i.e. the universal solution). No problem here. For personal use or as an alternative for BartPE (please note that I'm still a big fan of BartPE), FAT32 would definately be fine. - If I use NTFS, I'm usually bound to the same vendor (and sometimes) the same models (there are execeptions however). This is what I use for my commercial USB boot solutions. Security is surely a tradeoff. However if you design the application/file security around whitelists and use some of the 3. party securitysolutions for this particular part, then FAT32 should be an acceptable tradeoff. Will have to do some more research and thinking about this. I have a gut feeling that NTFS in a secure environment, would be the best solution, with the bootable incompatibilites it may introduce. Will leave this for another topic. Brgds, Martin Kiaer Microsoft MVP:Security |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 9th September 2010 - 02:08 AM |