CHẾ NGỰ Ổ ÐĨA MỀM

            Sử dụng cả hai công cụ của DOS là DRIVPARM và DRIVER.SYS có thể giúp bạn làm việc với các ổ đĩa mềm một cách hiệu quả hơn. Tất nhên là chúng không giúp bạn lau đầu đọc hay tạo dây cáp mới, nhưng chúng thêm rất nhiều khả năng linh hoạt cho thiết bị bạn đang có - và bạn sẽ thấy chúng vô giá khi các ổ đĩa khó tính không chịu giao tiếp với DOS theo cách bạn mong muốn.

            Lệnh DRIVPARM và chương trình DRIVER.SYS của nó có thể làm cầu nối giao tiếp tốt giữa bạn và những phương tiện lưu trữ bướng bỉnh này.

            Sau một thời gian sử dụng máy PC, chắc chắn bạn đã nhận thấy rằng ổ đĩa mềm là phần yếu nhất và gây rắc rối nhất của mọi hệ máy tính. Những vấn đề thường hay gặp nhất là:

    - Làm thế nào để sửa DOS khi nó cứ khăng khăng đòi hiển thị thư mục từ một ổ đĩa đã được rút ra khỏi ổ đĩa?

    - Nếu bạn chỉ sử dụng đĩa 360K và 720K double-density, làm cách nào cho DOS loại bỏ thói quen khó chịu là luôn tìm cách định dạng các đĩa đó như đĩa 1,2MB và 1,44MB high-dinsity?

    - Làm sao có thể sử dụng ổ đĩa 3,5 inch hay ổ đĩa high-density nếu BIOS của bạn không biết gì về chúng?

    - Cách bổ sung một ổ đĩa mềm lắp ngoài (external floppy drive)?

    - Muốn sao từ một đĩa 3,5 inch sang một ổ đĩa khác trên máy chỉ có một ổ 5,25 và một ổ 3,5 thì làm thế nào?
Có hai công cụ của hệ điều hành  có thể giải quyết các vấn đề trên, đó là lệnh DRIVPARM và driver thiết bị DRIVER.SYS.

            DRIVPARM đem lại giải pháp cho ba vấn đề đầu, còn DRIVER.SYS cho hai vấn đề còn lại. Nếu bạn có rắc rối với DOS về ổ đĩa mềm, các lệnh này sẽ giúp giải quyết bất đồng.

            Ðể sử dụng một trong hai tính năng trên, bạn phải thêm lệnh vào file CONFIG.SYS (vị trí lệnh trong file không thành vấn đề). Nếu bạn không quen soạn thảo CONFIG.SYS và thử các lệnh mới, hãy đọc mục "An toàn trước hết" trong bài này để có thể tiếp tục mà không làm nguy hại đến bất kỳ thành phần nào của máy.

        An toàn trước hết

            Ðể thử nghiệm các ý tưởng và các lệnh dưới đây, bạn sẽ phải sửa file CONFIG.SYS đôi chút. Vì một lỗi chính tả hay lỗi khác trong CONFIG.SYS có thể làm cho máy tính không khởi động được, bạn nên có đĩa khởi động cấp cứu dự phòng. Bạn có thể tạo đĩa khởi động theo cách dưới đây :

    FORMAT A:/S

            Sau đó thử khởi động từ đĩa mềm để yên tâm sửa file CONFIG.SYS trên đĩa cứng. Bạn có thể lưu các file khác trên đĩa cấp cứu của mình, gồm cả bản sao các file CONFIG.SYS và AUTOEXEC.BAT của đĩa cứng, các trình tiện ích giúp bạn phục hồi nếu có trục trặc đĩa cứng.

            Nếu máy tính của bạn đang chạy DOS 6.x, bạn có một phương án khác: giảm thiểu nguy cơ bị treo máy vì CONFIG.SYS bằng cách sử dụng cùng lúc menu đa cấu hình. Ðể làm điều này, hãy tạo một lựa chọn menu mới trong file CONFIG.SYS mà với nó bạn có thể thử nghiệm. Nếu có lỗi, hãy khởi động lại máy và chọn một trong các lựa chọn mà bạn chắc chắn sẽ làm việc; sau đó sửa lại dòng sai trong phần thử nghiệm file CONFIG.SYS. Bạn cũng có thể nhấn F5 hay F8 để bỏ qua hoàn toàn phần sử lý CONFIG.SYS hoặc sử lý từng dòng một và bỏ qua chỗ có lỗi.

        Ðặt các tham số ổ đĩa

            Thông thường, chương trình cài đặt máy tính chứa thông tin về các ổ đĩa mềm và dung lượng của chúng. Nhưng ổ đĩa của bạn có thể không tương ứng với định nghĩa BIOS chuẩn, hoặc có các đòi hỏi riêng. Khi ấy bạn nên dựa vào DRIVPARM để thiết lập mối liên hệ tốt hơn giữa ổ điã và DOS.

            Bạn chỉ có thể sử dụng DRIVPARM khi BIOS và DOS đã nhận biết ổ đĩa mà vì lý do gì đó không thể làm việc với nó theo ý bạn. Tuy nhiên, cú pháp của DRIVPARM khá rắc rối, đó là lý do vì sao người sử dụng ít khi nghĩ đến việc thử nó (xem mục "Cú pháp của DRIVPARM").

            Phần lớn các ổ đĩa mềm có thể gửi tín hiệu đổi tuyến (changeline singnal) tới máy khi bạn mở cửa ổ đĩa. DOS sử dụng tính hiệu này để quyết định xem nó có cần đọc lại thư mục ổ đĩa của bảng FAT hay không. Nếu DOS cho rằng ổ đĩa có thể gửi tín hiệu như vậy, nó thường sẽ không đọc lại các vùng hệ thống quan trọng này cho tới khi bạn đổi đĩa. Nhưng nếu nó cho rằng ổ đĩa không thể gứi tín hiệu mở cửa, nó sẽ đọc lại thư mục và bảng FAT mỗi khi bắt đầu một lần truy nhập đĩa.

            Một trong các ứng dụng thường xuyên nhất của DRIVPARM là giúp DOS có khả năng đổi tuyến. Ðã có trường hợp đường dây tín hiệu bị đứt  sau khi làm việc hữu hiệu trong một, hai năm, hoặc là do dây cắm ổ đĩa bị ép cong, hoặc một sensor ngay trong ổ đĩa bị hỏng. Trong trường hợp nào bạn cũng vẫn có thể sử dụng ổ đĩa đó, mặc dù không hoàn toàn hiệu quả. Ðể làm điều này, hãy thêm một lệnh vào CONFIG.SYS thông báo cho  DOS biết rằng ổ đĩa mềm này không có  khả năng phát hiện sự đổi tuyến. Khi đó, DOS sẽ  đọc lại thư mục và bảng FAT trước khi truy nhập đĩa. Ðối với một ổ đĩa 1,2MB được chỉ định là ổ A, lệnh thích hợp là :

    DRIVPARM=/D:0/F:1

            Ðối với ổ đĩa mềm 1,44MB được chỉ định là ổ A, hãy sử dụng lệnh:

    DRIVPARM=/D:0/F:7

            Bỏ qua tham số/C có nghĩa là ra lệnh cho DOS không chờ tín hiệu đổi tuyến.

        Tránh các nhược điểm format

            Nếu là người thận trọng về dữ liệu, bạn sẽ không bao giờ thử format một đĩa 360K double-dentish hay 720K thành 1,2MB hay 1,44MB. Nhưng DOS có một thói quen khó chịu là luôn tìm cách format đĩa mềm theo dung lượng lớn nhất của ổ đĩa. Bạn có thể khắc phục bằng các tham số khác nhau, nhưng nếu quên, bạn sẽ phá hỏng đĩa double-density.

            Nếu luôn làm việc với đĩa double-density (hoặc đĩa high-density trên ổ 2,88MB), bạn có thể sử dụng DRIVPARM để đặt dung lượng cực đại mới cho ổ đĩa. Chẳng hạn, lệnh sau đây buộc DOS coi ổ A (/D:O) là double-density (/F:O):

    DRIVPARM=/D:0/F:0/C

            Mặt khác nó cũng ra lệnh cho DOS rằng ổ đĩa B có dung lượng cực đại là 720K:

    DRIVPARM=/D:1/F:2/C

            Cả hai lệnh đều buộc DOS chờ tín hiệu đổi tuyến từ ổ đĩa.

            Bạn sẽ có được kết quả thú vị nếu thiết lập một ổ đĩa ít hơn dung lượng cực đại. Trước hết, nó có thể đọc đĩa dễ dàng hơn. Thứ hai, bạn sẽ không thể format đĩa high-density thành 1,2 MB hay 1,44MB, nhưng vẫn có thể đọc hoặc ghi lên các đĩa high-density đã format (trên một ổ đĩa khác) thành đĩa high-density.

            Tuy nhiên, vì chỉ có thể format đĩa ở dung lượng cực đại mà bạn đã thiết lập hoặc ở dung lượng thấp hơn, bạn có thể format các đĩa double-density mà không cần đưa các tham số vào lệnh FORMAT.

            Ðó có phải là lợi điểm? Nếu bạn chỉ làm việc với đĩa double-density, thì đúng là như vậy. Nếu bạn chuyển đổi giữa các đĩa mềm double-density và high-density, bạn có thể sử dụng lệnh DRIVER.SYS, được mô tả trong phần  "Bổ sung các ổ đĩa mới", để làm cho ổ đĩa vừa như là double-density vừa như là high-density.

        Cập nhật máy tính cũ

            Cuối cùng, bạn có thể sử dụng lệnh DRIVPARM nếu muốn cài đặt một ổ đĩa mềm mà BIOS không nhận biết được. Chẳng hạn, nhiều máy tính cũ không hề biết đến ổ đĩa 3,5 inch. Tất nhiên, bạn có thể nâng cấp BIOS của máy để cài đặt ổ đĩa 3,5 inch, hoặc có thể sử dụng DRIVPARM thay thế.

            Tham số /I buộc DRIVPARM cài đặt driver cho  ổ đĩa mà bạn chỉ định. Chẳng hạn, nếu BIOS của máy không nhận biết được ổ B là ổ 1,44MB 3,5 inch, bạn có thể sử dụng lệnh sau:

    DRIVPARM=/D:1/F:7/I

            Với dòng này trong file CONFIG.SYS, bạn sẽ có thể dùng ổ đĩa 3,5 inch mới của mình trên bất kỳ máy tính và chạy DOS, với điều kiện bạn sử dụng dây cáp đúng loại và ổ đĩa tương thích về mặt điện tử với bộ điều khiển đĩa. Trong phần lớn các  trường hợp, /I tránh cho bạn khỏi phải mua một bản BIOS nâng cấp, mà thận chí có khi không có cho các máy PC cũ.

            Mặc dù có thể sử dụng DRIVPARM để buộc DOS đặt các tham số mới cho ổ đĩa cứng, ổ băng từ hay ổ quang, rất ít người sử dụng nó cho mục đích này. Các ổ băng và ổ quang hầu như luôn có phần mềm driver riêng; và một khi khởi động máy từ ổ đĩa cứng, bạn sẽ không muốn thay đổi các tham số của thiết bị này.
Nhưng bạn có thể sử dụng DRIVPARM trên máy tính cũ để buộc DOS nhận biết ổ đĩa cứng thứ hai có dung lượng lớn mà bạn không thể định nghĩa với BIOS. Hãy thử nghiệm để xem công dụng này có hữu hiệu trên máy tính của bạn hay không.

        Bổ sung các ổ đĩa mới

            DRIVPARM thay đổi các tham số của một ổ điã mà cả DOS và BIOS đều đã nhận biết được. Nhưng khi muốn thêm vào một ổ đĩa mới mà DOS không nhận biết, bạn cần đến DRIVER.SYS.

            Cú pháp  của DRIVER.SYS tương tự như DRIVPARM, nhưng hạn chế hơn (xem mục "Sử dụng DRIVER.SYS"). Mặc dù vậy, đừng bỏ qua  DRIVER.SYS chỉ vì lý do này. Nó có hai ứng dụng quan trọng mà DRIVPARM không có.

            Nhiều bộ điều khiển ổ đĩa có thể dùng cho 4 ổ đĩa mềm thay vì chỉ 2 ổ như thường được cài đặt trong máy. ổ thứ ba và thứ tư thường được gắn bên ngoài, trong hộp riêng và với nguồn điện riêng; bạn nối chúng với máy tính bằng dây cáp chuẩn cho ổ đĩa mềm. Vấn đề là ngay cả khi bạn cài đặt chúng một cách đúng đắn, BIOS và DOS của bạn vẫn có thể không nhận biết được. Và DRIRER.SYS sẽ làm cho máy nhận biết được các đĩa bên ngoài. Cú pháp cho ổ đĩa thứ ba (ổ đĩa mềm 1,44MB 3,5 inch hỗ trợ tín hiệu đổi tuyến) như sau:

    DEVICE=C:\DOS\DRIVER.SYS /D:2 /F:7 /C

            Cú pháp cho ổ đĩa thứ tư cũng như vậy, nhưng bạn nên sử dụng /D:3 để gọi nó:

    DEVICE=C\DOS\DRIVER.SYS /D:3 /F:7 /C

            Nếu thích bạn có thể chuyển DRIVER.SYS vào khối bộ nhớ trên bằng cách thêm DEVICEHIGH vào đầu dòng lệnh.

            DOS sẽ gán cho các ổ đĩa này chữ cái chỉ tên ổ đĩa (drive letter) gần nhất còn lại trong bản chữ cái. Chẳng hạn, nếu bạn có một ổ đĩa cứng và không sử dụng chương trình nén đĩa như DiskSpace, ổ đĩa mềm bên ngoài đầu tiên sẽ là D.

        Cú pháp của DRIVPARM

            Cú pháp cho lệnh DRIVPARM mà bạn chỉ có thể sử dụng trong file CONFIG.SYS khá rắc rối. Sử dụng các quy tắc cú pháp của Microsoft, nó có dạng sau:

    DRIVPARM=/D:d[/F:n][/H:h][/T:t][/S:s][/N][/C][/I]

            Trong tất cả các lệnh và tham số trên, chỉ có các  chữ DRIVPARM, dấu=, và /D:d là bắt buộc. /D:d đặt tên ổ đĩa mà bạn muốn đặt tham số cho nó. Theo cách đánh số ổ đĩa của DRIVPARM, bạn sử dụng/D:0 để chỉ ổ A, /D:1 để chỉ ổ B, /D:2 để chỉ ổ C.v..v. Mọi thứ khác trong dòng đều là lựa chọn tuỳ ý, mặc dù có lẽ bạn sẽ phải đưa thêm ít nhất một hoặc hai thông tin mỗi khi sử dụng DRIVPARM.

            Chẳng hạn, bạn sẽ hầu như luôn phải sử dụng lựa chọn /F:n của DRIVPARM; nó xác định kích thước và loại ổ đĩa. DOS sở dụng các số sau để mô tả mỗi loại ổ đĩa mà nó hỗ trợ:

    * /F:0 chỉ ổ đĩa một mặt 160K hay 180K, hoặc ổ đĩa 5,25 inch hai mặt 320K hay 360K.
    * /F:1 chỉ ổ đĩa 1,2M 5,25 inch.
    * /F:2 chỉ ổ đĩa 720K 3,5 inch.
    * /F:5 chỉ ổ đĩa cứng.
    * /F:6 chỉ ổ đĩa băng từ.
    * /F:7 chỉ ổ đĩa 1,44MB 3,5 inch.
    * /F:8 chỉ ổ đĩa quang đọc/ghi.
    * /F:9 chỉ ổ đĩa 2,88MB 3,5 inch.

            Bạn có thể thắc mắc về F/:3 và /F:4, chúng đã được sử dụng ban đầu để hỗ trợ các ổ đĩa 8 inch, một loại đặc biệt mà giờ đây gần như không còn nữa. Nếu bạn không chỉ rõ loại đĩa, DOS sẽ coi như bạn đặt tham số ổ đĩa 720K 3,5 inch (loại 2).

            Nếu đang làm việc với ổ đĩa mềm chuẩn, bạn có thể bỏ qua các tham số /H:h, /T:t và /S:s. Các phần này định nghĩa số đầu đọc (head), track và sector mà ổ đĩa sử dụng và được đặt tự động bằng lựa chọn /F:n. Bạn sẽ phải tự đặt các lựa chọn này nếu đang sử dụng DRIVPARM  để định nghĩa ổ băng từ, đĩa quang, hoặc một ổ đĩa mềm không thông thường như ổ đĩa có thể lưu trữ 10 đến 20 MB chỉ trên một đĩa.

            Tham số /N cho DOS biết rằng phương tiện ghi không tháo ra được thiết lập bởi DRIVPARM. Tham số này thường dành riêng cho đĩa cứng, mà đĩa cứng hiếm khi được thiết lập bởi DRIVPARM. Bạn đừng bao giờ sử dụng DRIVPARM để định nghĩa các tham số mới cho đĩa khởi động máy; làm như vậy bạn sẽ bị khoá máy, và còn có thể làm hư ổ đĩa.

            Sự hiện diện của /C (lựa chọn đổi tuyến) có thể giải quyết nhiều vấn đề với một ổ đĩa không ổn định. Nếu bạn sử dụng /C, DOS coi như ổ đĩa sẽ thông báo cho nó biết khi cửa mở và đóng. Bạn có thể thông báo cho DOS rằng không có tín hiệu đổi tuyến bằng cách chỉ định rõ DRIVPARM cho ổ đĩa này và bỏ qua lựa chọn /C.

            Cuối cùng , tham số /I ra lệnh cho  DOS cài đặt driver phần mềm cho ổ đĩa ngoài việc thiết lập các thông số của nó. Hãy sử dụng chức năng này nếu bạn đã thêm một ổ đĩa 3,5 inch vào máy tính có BIOS cũ không hỗ trợ loại ổ đĩa này; đó là máy 8088 và một vài máy 80286 cũ. Tham số /I là một cách khác để thử cập nhật BIOS nếu máy tính của bạn chỉ có đĩa 3,5 inch.

    Các ổ đĩa ảo (phantom)

            Các ổ đĩa mềm bên ngoài đã từng rất thông dụng, nhưng phần lớn chúng ta thường làm việc với một hoặc hai đĩa mềm bên trong và một ổ đĩa cứng lớn,  DRIVER.SYS lẽ ra đã trở nên vô dụng nếu nó không có một ứng dụng quan trọng khác :có thể gán chữ cái mới cho ổ đĩa mềm có sẵn.

            Có khi nào bạn muốn đặt tên cho một ổ đĩa mềm vừa là B vừa là D? Ðiều này nghe có vẻ lạ lùng, nhưng bằng cách sử dụng hai chữ cái cho một ổ đĩa, bạn có thể thực hiện một vài mẹo mà thông thường không thể thực hiện được. Giả thiết rằng bạn có thể sao chép file từ đĩa 3,5 inch sang đĩa kia?

            Một cách là sao chép file sang ổ đĩa cứng, tráo đĩa, và sau đó sao lại sang đĩa mới. Nhưng có thể bạn không có đủ chỗ trên đĩa cứng, hoặc có thể bạn phải sao chép file từ đĩa 720K sang một số lượng ít hơn đĩa 1,44MB để lưu.

            Một trong những cách khôn ngoan nhất để sao chép file sử dụng lệnh DOS như COPY, XCOPY hay MOVE là gán cho ổ đĩa đó hai chữ cái, có thể là B và D. Trong trường hợp này, chữ cái B chỉ ổ đĩa chuẩn thứ hai, và D là ổ đĩa ảo sử dụng cùng một thiết bị phần cứng.

            Với thiết lập ổ đĩa ảo, bạn có thể dùng lệnh DOS như sau:

    COPYB:\*.*D:

            Nếu cả B: và D: đều cùng chỉ một ổ đĩa, máy tính sẽ cho bạn biết khi nào phải nhét đĩa nguồn và đĩa đích vào. Nếu đã từng sao chép file từ A sang B trên một máy tính với chỉ một ổ đĩa, chắc chắn bạn đã được đọc các thông báo tương tự.

            Một lý do khác để tạo ổ ảo là bạn có thể sử dụng một chữ cái cho đĩa double-density và chữ cái khác cho đĩa high-densty. Khi đó bạn có thể format đĩa trong ổ này (hay đọc các đĩa hỏng) bằng cách sử dụng chữ cái chỉ tên ổ đĩa phù hợp cho mỗi loại đĩa.

            Ðể tạo một ổ đĩa ảo, hãy sử dụng DRIVER.SYS để gán chữ cái mới cho một ổ đĩa đã có sẵn. Chẳng hạn, để tạo một chữ cái chỉ tên ổ đĩa ảo cho ổ đĩa vật lý thứ hai của bạn (ổ B) và để cài đặt ổ ảo thành 720K 3,5 inch có hỗ trợ đổi tuyến, bạn có thể sử dụng lệnh DOS sau:

    DEVICE=C:\DOS\DRIVER.SYS /D:1 /F/:2 /C

            Nếu thường sao chép dữ liệu từ đĩa này sang đĩa khác, bạn có thể thấy các ổ đĩa aỏ làm cho công việc được dễ dàng hơn.

            Sử dụng DRIVER.SYS

            Cú pháp format cho DRIVER.SYS mà bạn chỉ có thể cài đặt từ CONFIG.SYS như sau:

    DEVICE=DRIVER.SYS/D:d[/F:n][/H:h][/T:t][/S:s][/C]

            Nếu như thích, hãy sử dụng DEVICEHIGH thay cho DEVICE. Trừ khi bạn lưu DRIVER.SYS trong thư mục gốc của đĩa boot, phải ghi rõ đường dẫn (path) đầy đủ vào lệnh (ví dụ : DEVICE=C:\DOS\DRIVER.SYS).
Các lựa chọn cho DRIVER.SYS tương tự với DRIVPARM, nhưng chúng phức tạp hơn một chút. DRIVER.SYS đòi hỏi drive number (số mô tả ổ đĩa) d; cho phép mô tả ổ đĩa bằng kiểu loại (n) hay head (h), track (t) và sector (s); cho phép xác định ổ đĩa có thể báo cáo về thay đổi đĩa hay không. Tuy nhiên DRIVER.SYS chỉ hỗ trợ đĩa mềm, vì thế cả hai tham số /D: và /F: làm việc hơi khác một chút.

            DRIVER.SYS, cũng như DRIVPARM, đòi hỏi drive number, sử dụng /D:0 để chỉ ổ đĩa A và D:1 chỉ ổ đĩa B. Tuy nhiên, không như DRIVPARM, DRIVER.SYS sử dụng /D:2 để chỉ ổ đĩa thứ ba là ổ đĩa bên ngoài thứ hai.

            Cũng như DRIVPARM, DRIVER.SYS cần phải biết loại ổ đĩa nào được sử dụng. Tham số /F:n dùng cùng hệ thống đánh số như F:n của DRIVPARM, nhưng DRIVER.SYS chỉ hỗ trợ các ổ đĩa loại 0,1,2,7 và 9.

    * /F:0 chỉ ổ đĩa 5,25 inch một mặt 160K hay 180K hoặc hai mặt 320K hay 360K.
    * /F:1 chỉ ổ đĩa 1,2MB 5,25 inch
    * /F:2 chỉ ổ đĩa 720K 3,5 inch
    * /F:7 chỉ ổ đĩa 1,44MB 3,5 inch
    * /F:9 chỉ ổ đĩa 2,88MB 3,5 inch

            Hãy sử dụng lựa chọn /H:h, /T:t và /S:s để đặt số lượng head, track và sector nếu bạn đang dùng ổ đĩa không thông thường. Cuối cùng, /C làm việc giống như với DRIVPARM, nếu ổ đĩa có thể gửi tính hiệu mở cửa (đổi tuyến) tới DOS, bạn nên đưa tham số này vào. Nếu ổ đĩa không thể gửi tin hiệu mở cửa, hãy bỏ qua C/.