home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: SysTools / SysTools.zip / os2fat32.zip / partfilt.txt < prev    next >
Text File  |  1999-08-19  |  12KB  |  299 lines

  1.  
  2.                         === DISCLAIMER ===
  3.  
  4.  
  5. I allow you to use all software in this package freely under the condition
  6. that I am in no way responsible for any damage or loss you may suffer.
  7.  
  8.         >> You should be aware of the fact that PARTFILT might <<
  9.         >> damage the data stored on your hard disks.           <<
  10.  
  11. If you cannot agree to these conditions, you should NOT use PARTFILT !
  12.  
  13.  
  14.  
  15. I CANNOT guarantee that PARTFILT will work for you. However I've done
  16. my best to test the program and I can only say that It works for me.
  17.  
  18.  
  19. Henk Kelder
  20. henk.kelder@capgemini.nl 
  21. Certified daddy (by my kids)
  22.  
  23. My homepage for the latest version: 
  24.  
  25.   http://www.os2ss.com/information/kelder/index.html
  26.  
  27.  
  28. NOTE: Users report me PARTFILT does not work with Warp Server for E-Business.
  29.       Appearanlty, the Logical Volume Manager (LVM) can do some of the tasks
  30.       that PARTFILT does, like creating drive letters for non-standard 
  31.       partitions like FAT32 and Linux Partitions.
  32.  
  33.  
  34. PARTFILT.FLT
  35. ============
  36.  
  37. Before anything else: PARTFILT is based on the excelent work of
  38. Deon van der Westhuysen. I only made minor modification to it. The source
  39. code is available under GPL conditions. Please send me a mail if you want 
  40. the sources. My current homepage lacks space to store the sources.
  41.  
  42. Also, Once PARTFILT is installed FDISK, Partition Magic and other Partition
  43. tools can no longer be trusted. Do not use these tools once PARTFILT is 
  44. installed.
  45.  
  46. PARTFILT.FLT is a BASEDEV FILTER device that as able to presents (fakes) 
  47. partition types that are normally unsupported by OS/2 in such a way to OS/2 
  48. that IFS's can be loaded on these partitions. Such virtualized partition 
  49. will always be mounted after the non-virualized partitions.
  50.  
  51. Currently (as far as I know) the filter can be used for two IFS's: 
  52. This one, FAT32.IFS and the Linux IFS.
  53. Beside that, PARTFILT.FLT can be used for other purposes such as making
  54. not-visible partitions visible or using multiple primary partitions.
  55.  
  56. PARTFILT.FLT supports the following options:
  57.  
  58. /Q      Load quietly
  59. /W      Enables Writing to the faked partitions. Without this option
  60.         the faked partitions are read-only.
  61.  
  62. /A      This option does two things: 
  63.              - Disables OS/2 to access all partitions, but:
  64.              - Virtualizes (or fakes) all known partitions. 
  65.                Known partitions are the normal FAT partitions, 
  66.                IFS (=mainly HPFS) partitions and the partitions specified
  67.                with the /P option. 
  68.                All primary partitions of known types are also virtualized, 
  69.                and will be accessable from OS/2.
  70.  
  71.         This option must be used in conjunction with the /M option.
  72.  
  73.         When this option is specified, the /W option is automatically set,
  74.         because otherwise OS/2 will not boot.
  75.  
  76. /M <mountlist> - Specifies the order in which partitions must be mounted.
  77.         Must be used with the /M option.
  78.  
  79.         WARNING: Incorrect usage of the /A and /M options could make your 
  80.                  system unbootable.
  81.  
  82.         => USING THE /A and /M OPTIONS is not advised! <=
  83.  
  84.         if you need more information on these options please see:
  85.  
  86.         http://www.os2ss.com/information/kelder/
  87.         or just read on.
  88.  
  89.  
  90. /P <partition types to fake>
  91.         This is option is used to tell PARTFILT which partition type are to
  92.         be faked. You should NOT use partition types already supported by 
  93.         OS/2 since this would result in a single partition being mounted
  94.         two times. The list should consist of partition type numbers (in 
  95.         hexadecimal), separated by comma's. 
  96.  
  97.  
  98. The partition type number are as follows:
  99.         
  100.      01   FAT12       (supported by OS/2)               
  101.      02   XENIX_1                
  102.      03   XENIX_2                
  103.      04   FAT16       (supported by OS/2)             
  104.      05   EXTENDED               
  105.      06   HUGE        (supported by OS/2)             
  106.      07   IFS         (supported by OS/2)             
  107.      0A   BOOTMANAGER           
  108.      0B   FAT32                  
  109.      0C   FAT32_XINT13 or FAT32X          
  110.      0E   XINT13                 
  111.      0F   XINT13_EXTENDED        
  112.      41   PREP                   
  113.      63   UNIX                   
  114.      83   LINUX    
  115.  
  116.      10   Hidden partition (bits OR'd with partition type)
  117.  
  118. To make PARTFILT.FLT fake a FAT32 partition the /P option should be /P 0B.
  119. To make PARTFILT.FLT fake a FAT32X partition the /P option should be /P 0C.
  120. To make PARTFILT.FLT fake a LINUX partition the /P option should be /P 83.
  121. Or you can use a comination of the types e.g. /P 0B,0C
  122.  
  123. The best location in the config.sys seems to differ depening on your 
  124. configuration. Some state FAT32.IFS will only work is PARTFILT is the 
  125. first basedev, other claim it only works if PARTFILT is the last one.
  126.  
  127. A specific problem was reported when using a SCSI powersave basedev that
  128. only seemed to work if PARTFILT was the last basedev.
  129.  
  130.  
  131. HOW OS/2 SCANS FOR PARTITIONS
  132. =============================
  133.  
  134. During the boot process of OS/2 partitions are scanned twice, each using the 
  135. same algoritm to detect partitions and if OS/2 supports the partition types 
  136. found drive letters are assigned to them.
  137.  
  138. The first scan takes place during initial boot. (PARTFILT has no effect on
  139. this scan!) The main purpose of this scan seems to be to detect the OS/2 boot 
  140. drive and to assign a drive letter to it. For OS/2 to be able to boot this 
  141. drive letter may NOT change later on during the second scan. 
  142.  
  143. The second scan takes place while initializing the file system. Via calls to 
  144. OS2DASD.DMD the partitions are scanned and drive letters are assigned. 
  145. Only this second scan is influenced by PARTFILT.
  146.  
  147. So whatever you do, you must make sure that in both scans the OS/2 boot drive
  148. gets the same drive letters assigned.
  149.  
  150. If your FAT32 partition is not a primary partition and you don't care what 
  151. drive letter the FAT32 partition gets you may stop reading here. Simply do 
  152. not specify the /A or /M options and the FAT32 partition will get a drive 
  153. letter higher then all partition normally recoqnized by OS/2.
  154.  
  155. But if your FAT32 partition is a primary partition, or you want the FAT32 
  156. partition to have a drive letter before the OS/2 boot drive you will need to 
  157. do some extra work.
  158.  
  159. Just for the record the normal assignment order of OS/2 is:
  160. 1. (Current active) Primary partition on first HD
  161. 2. (Current active) Primary partition on second HD
  162. 3. and so on...
  163. 4. All extended partitions on first HD
  164. 5. All extended partitions on second HD
  165. 6. And so on...
  166. 7. Removeable drives
  167.  
  168. Should you need to use the /M parameter with PARTFILT you should know the
  169. the sequence numbers used as arguments are different from the normal order
  170. OS/2 uses. Here's where DISKINFO comes along. DISKINFO shows the seq# as 
  171. used by PARTFILT. See below.
  172.  
  173. Now suppose you have the following scenario:
  174.  
  175. C: is FAT16 (Primary)
  176. D: is HPFS  (Extended)
  177.  
  178. and you consider converting the FAT16 partition to FAT32 (with partition 
  179. magic) the following will happen after the conversion:
  180.  
  181. During the first scan the FAT32 partition is skipped and the OS/2 boot 
  182. drive will get C: assigned. During the 2nd scan FAT32 is recoqnized because
  183. you have loaded PARTFILT and is assigned C:. Your HPFS partition will get D: 
  184. assigned and OS/2 will not boot because OS/2 has already decided to go for C:
  185. but cannot find its stuff there.
  186.  
  187. There are two solutions:
  188. - Reinstall OS/2 on the HPFS partition without PARTFILT installed. OS/2 will
  189.   install everything on C: (HPFS). Later you could add PARTFILT and FAT32.IFS 
  190.   without the /A and /M options and the FAT32 partition will become D:.
  191.  
  192. - Add a fake (preferrably HPFS) partition between the FAT32 and HPFS 
  193.   partition. During the 1st scan, this partition will get C: and your boot 
  194.   partition will get D:. 
  195.   Load PARTFILT with the /A and /M options, where in my example the mountlist
  196.   should be: /M 0,2. 
  197.  
  198. Explanation:
  199. With the Fake partition installed the following partitions exist:
  200. 0 - FAT32
  201. 1 - fake HPFS
  202. 2 - HPFS (boot)
  203.  
  204. By not specifying seq# 1 in the mountlist, PARTFILT will not virtualize this
  205. partition and OS/2 will not assign a drive to it.
  206. By using a HPFS partition, Windows 95 will not recoqnize the fake partition
  207. and will not assign a drive letter to it.
  208.  
  209.  
  210. ABOUT HIDDEN PARTITIONS
  211. =======================
  212. PARTFILT can also be used to make hidden partitions visible to OS/2.
  213. Here the following mechanism is used:
  214.  
  215.   if /A is not used only the types specified after /P are virtualized.
  216.   (The /A switch controls whether or not to virtualize all partitions.)
  217.  
  218.   PARTFILT always unhides the partitions it virtualizes.
  219.  
  220.   For the partition types PARTFILT virtualizes the following rules apply:
  221.  
  222.   Normal partition types (types 1, 4, 6, 7, but also 11, 14, 16 and 17) 
  223.   are reported to OS/2 with their actual -unhidden- partition type. 
  224.  
  225.   Any other partition types specified after /P are reported as un-hidden IFS
  226.   partitions. 
  227.   Any other partition types NOT specified after /P are reported as their 
  228.   actual -unhidden- type. Note that this will only happen if you use the /A
  229.   argument.
  230.   
  231.   Keep in mind that if you specify /A you must also use the /M argument to
  232.   tell PARTFILT which partitions you want to mount.
  233.   
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240. DISKINFO.EXE
  241. ============
  242. When run with no options, diskinfo will scan and show all partitions.
  243. The following options are available:
  244.  
  245. /V - Verbose mode. Show more info on FAT32 partitions.
  246. /B - Show the boot sector of FAT32 partitions. Only if /V is only specified.
  247. /P - Allows you to specify a list of partition types that should also get
  248.      a partition sequence number. See PARTFILT for more information.
  249.  
  250.  
  251. An example of the output of PARTFILT without any options:
  252. -----------------------------------------------------------------------------
  253. There are 2 disks
  254. === Scanning physical disk 1.===
  255. 0:P   06 HUGE           Strt:H:     1 C:   0 S:   1 End:H:   127 C: 258 S:  63
  256. -:PA  0A BOOTMANAGER    Strt:H:     0 C: 524 S:   1 End:H:   127 C: 524 S:  63
  257. 1:LB  06 HUGE           Strt:H:     1 C: 259 S:   1 End:H:   127 C: 387 S:  63
  258. 2:LB  07 IFS            Strt:H:     1 C: 388 S:   1 End:H:   127 C: 523 S:  63
  259. === Scanning physical disk 2.===
  260. -:L   0B FAT32          Strt:H:     1 C:   1 S:   1 End:H:   127 C: 381 S:  63
  261. -:L   0B FAT32          Strt:H:     1 C: 382 S:   1 End:H:   127 C: 524 S:  63
  262. │ │││ │
  263. │ │││ └ Partition type (the number the specify after /P to get this
  264. │ │││                   partition type handled by PARTFILT)
  265. │ ││└── H = Hidden partition
  266. │ │└─── A = Active / B = Bootable via bootmanager
  267. │ └──── P = Primary / L = Logical (extended)
  268. └────── Seq # to be used in the OPTIONAL /M argument for PARTFILT.
  269.  
  270. 2 FAT32 partitions found!
  271. WARNING: /P not specified.
  272.          Only 'normal' partitions are assigned a partition sequence number!
  273. -----------------------------------------------------------------------------
  274.  
  275.  
  276. An example of the output of PARTFILT with /P 0B as argument:
  277. -----------------------------------------------------------------------------
  278. Also including partition types 0B.
  279. There are 2 disks
  280. === Scanning physical disk 1.===
  281. 0:P   06 HUGE           Strt:H:     1 C:   0 S:   1 End:H:   127 C: 258 S:  63
  282. -:PA  0A BOOTMANAGER    Strt:H:     0 C: 524 S:   1 End:H:   127 C: 524 S:  63
  283. 1:LB  06 HUGE           Strt:H:     1 C: 259 S:   1 End:H:   127 C: 387 S:  63
  284. 2:LB  07 IFS            Strt:H:     1 C: 388 S:   1 End:H:   127 C: 523 S:  63
  285. === Scanning physical disk 2.===
  286. 3:L   0B FAT32          Strt:H:     1 C:   1 S:   1 End:H:   127 C: 381 S:  63
  287. 4:L   0B FAT32          Strt:H:     1 C: 382 S:   1 End:H:   127 C: 524 S:  63
  288. │ │││ │
  289. │ │││ └ Partition type (the number the specify after /P to get this
  290. │ │││                   partition type handled by PARTFILT)
  291. │ ││└── H = Hidden partition
  292. │ │└─── A = Active / B = Bootable via bootmanager
  293. │ └──── P = Primary / L = Logical (extended)
  294. └────── Seq # to be used in the OPTIONAL /M argument for PARTFILT.
  295.  
  296. 2 FAT32 partitions found!
  297. -----------------------------------------------------------------------------
  298.  
  299.