IPB

Welcome Guest ( Log In | Register )

104 Pages V  « < 20 21 22 23 24 > »   
Closed TopicStart new topic
> XP booting direct from USB
mkiaer
post 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 smile.gif .

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
Go to the top of the page
 
+Quote Post
Former_sfiorito_post
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.
Go to the top of the page
 
+Quote Post
mkiaer
post 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 smile.gif

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
Go to the top of the page
 
+Quote Post
Former_sfiorito_post
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?
Go to the top of the page
 
+Quote Post
mkiaer
post 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 cool.gif

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 wink.gif .

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
Go to the top of the page
 
+Quote Post
Dietmar
post 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 ph34r.gif biggrin.gif biggrin.gif biggrin.gif ph34r.gif

http://www.prime-expert.com/flashboot/

and have a look at: laugh.gif

"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. cool.gif

Nice to hear from you
Dietmar


--------------------
Go to the top of the page
 
+Quote Post
Former_spaceodyssey_post
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? huh.gif
Go to the top of the page
 
+Quote Post
Dietmar
post 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 laugh.gif

And then: Install all USB drivers and there entries in registry after FBA...hihi,
and voila... biggrin.gif laugh.gif tongue.gif rolleyes.gif

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. ph34r.gif biggrin.gif biggrin.gif biggrin.gif ph34r.gif


--------------------
Go to the top of the page
 
+Quote Post
sisal
post 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
Go to the top of the page
 
+Quote Post
tryxiej
post Jan 10 2006, 01:32 PM
Post #430


Member
**

Group: Members
Posts: 15
Joined: 10-September 05
Member No.: 13,916



QUOTE (Dietmar @ Jan 10 2006, 10:57 PM) *
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. ph34r.gif biggrin.gif biggrin.gif biggrin.gif ph34r.gif


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 smile.gif keep up the good work!! smile.gif
Go to the top of the page
 
+Quote Post
Former_Lee_post
post Jan 10 2006, 01:48 PM
Post #431





Guests






Agree with you tryxiej biggrin.gif

Lee
Go to the top of the page
 
+Quote Post
mkiaer
post 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. smile.gif

Brgds,
Martin Kiaer
Microsoft MVP:Security
Go to the top of the page
 
+Quote Post
Dietmar
post 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. ph34r.gif biggrin.gif biggrin.gif biggrin.gif ph34r.gif

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 tongue.gif

Nice to hear from you
Dietmar


--------------------
Go to the top of the page
 
+Quote Post
sisal
post 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: laugh.gif huh.gif bsod 0x7b blink.gif jipeeee biggrin.gif

the next for hours i spent on getting this to work ph34r.gif

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? smile.gif ) configuration to the registry.

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) rolleyes.gif

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 rolleyes.gif

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]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.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]
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
hidusb = "HID-Parser",files.hidusb,hidusb
serial = "Treiber fr seriellen Anschluss",files.none,serial
serenum = "Enumerator fr seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
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 laugh.gif smile.gif

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
Go to the top of the page
 
+Quote Post
Roland
post Jan 11 2006, 03:35 AM
Post #435


Member
**

Group: Members
Posts: 10
Joined: 9-January 06
Member No.: 16,564



QUOTE (Dietmar @ Jan 10 2006, 11:28 PM) *
Hi all,

the FlashBoot utility isnt able to boot
my Gericom Blockbuster Notebook from USB.

I tried everything. ph34r.gif biggrin.gif biggrin.gif biggrin.gif ph34r.gif

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 tongue.gif

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 tongue.gif
Maybe Acer will provide me with a better one soon (but i guess not).
Go to the top of the page
 
+Quote Post
mkiaer
post 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 smile.gif

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
Go to the top of the page
 
+Quote Post
jaclaz
post 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 smile.gif, though I STRONGLY object to this sad.gif:
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! wink.gif


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. -
Go to the top of the page
 
+Quote Post
mkiaer
post 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. smile.gif
(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
Go to the top of the page
 
+Quote Post
jaclaz
post 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. -
Go to the top of the page
 
+Quote Post
mkiaer
post 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. wink.gif

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
Go to the top of the page
 
+Quote Post

104 Pages V  « < 20 21 22 23 24 > » 
Closed TopicStart new topic
8 User(s) are reading this topic (8 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 9th September 2010 - 02:08 AM