VXD trong WinME có thiếu hay không ?
Trương Mạnh An – DHBK HN; E-Mail: antm75@yahoo.com
Vấn đề VXD đã được đề cập đầu tiên trên báo PC-World chuyên đề “Máy tính và mạng” số tháng 2-2001 của tác giả Lêu Chí Hùng với nhan đề “VxD trong Win ME vết xe đổ của Windows 98”. Trong bài viết này, tác giả đã nêu ra việc cài đặt Windows có lỗi đã không cài đầy đủ các file VxD đã gây nên các trục trặc hệ thống, và đã đưa ra cách giải quyết. Để góp ý cho bài này, hai tác giả: Trần Anh Khôi và Đỗ Thành Kiên đã viết một bài với tựa đề “Góp ý bài “VXD trong Windows ME: Vết xe đổ của Windows 98” “.đăng cùng báo, số 3/2001. Trong bài thứ hai này, hai tác giả đã hướng dẫn đầy đủ cách bắt registry phải nạp các file VXD thiếu đã bổ xung vào Windows/System và còn hướng dẫn tìm ra nhiều file còn thiếu khác có thể bổ xung. Một tác giả khác còn đưa ra cách viết chương trình tự cài đặt bổ xung các file VXD thiếu. Trên các Website đã có các chương trình này cho mọi người Download. Còn tôi lại có một quan điểm mới khác với các bài viết trên về vấn đề này.
Tôi đã từng phổ biến kiến thức của hai bài báo trên cho bạn bè trên mạng nhằm giúp ME chạy ổn định thêm, tuy nhiên tác dụng lại không như mong muốn, mà đôi khi còn ngược lại. Chính tôi đã không đọc được CD Room sau khi sửa theo bài viết, một bạn khác thì không đọc được Floppy mà lỗi không phải do phần cứng, cũng không phải yếu kiến thức về Registry.
Để tìm hiểu quá trình cài đặt của Win9X, tôi format lại ổ C, cài mới ME từ đầu. Quá trình tìm hiểu tiến hành như sau: Sau khi format, cài đặt bình thường, khi Windows đòi khởi động lần thứ nhất nó kiểm tra xem có đĩa mềm nào trong ổ không (nếu thấy có, nó thông báo yêu cầu rút đĩa khỏi ổ để có thể khởi động lại), khi không có, Windows khởi động lại bình thường và lúc này tôi mới cho vào ổ mềm một đĩa khởi động vào DOS. Tôi thấy khi này trên ổ cứng, thư mục C:\Windows\System\Vmm32 có 44 file VXD. Để tiện tìm hiểu thêm về sau, tôi copy toàn bộ sang một thư mục khác trong một phân vùng khác – ví dụ D:\VMM32\. mặt khác cũng copy toàn bộ file *.VXD trong thư mục Windows\System\ sang một thư mục khác – ví dụ D:\SYSTEM1\. Sau đó bấm nút Reset để khởi động máy lại, quá trình cài đặt bình thường. Nếu bạn cũng muốn thử nghiệm điều này thì bạn chỉ được chen ngang vào quá trình cài đặt sau lần khởi động lại đầu tiên và sau khi thao tác xong phải bấm Reset trên thùng máy, nếu không làm như trên thì có thể gây lỗi, không thể tiếp tục cài đặt được.
Sau khi hoàn thành quá trình cài đặt, vào C:\Windows\Vmm32 thì lúc này thấy chỉ còn 1 files. So sánh các files VXD trong thư mục C:\ Windows\System\ với cùng thư mục đó (nhưng khi chưa hoành thành quá trình cài đặt, trong ví dụ trên ta copy vào D:\System1\) thì thấy đa số các file VXD là giống nhau tuy nhiên, file vmm32.vxd hiện nay có thông số khác hẳn: 1032 956 byte, có date là ngày cài đặt, so với file cũ là 464 878 byte date: 8/6/2000. Như vậy có sự biến đổi giữa quá trình đang cài với sau khi cài đặt hoàn tất, điều này chỉ có thể lý giải rằng toàn bộ trên 40 file trong VMM32 đã được chuyển vào thành một file duy nhất là vmm32.vxd nên mới có sự tăng dung lượng như vậy. Và cũng do đó nếu bạn bung toàn bộ các file .vxd trong bộ cài ra, copy vào windows\system thì bạn lại thay thế file vmm32.vxd sau này bằng file đầu tiên có trong bộ cài, lần khởi động kế tiếp Windows sẽ lỗi mà backup rygistry cũng không sửa được trừ khi bạn đã sao lưu file vmm32.vxd do Windows tạo ra.
Như vậy, cách lập luận của tác giả Liêu Chí Hùng cũng như Trần Anh Khôi và Đỗ Thành Kiên có thể là không đúng.
Theo tác giả Liêu Chí Hùng thì: Chuột phải desktop, chọn Properties, vào Device Manager; trong danh sách, click vào một dấu cộng bất kỳ, tìm xem nó có thoả mãn những điều như ví dụ sau không. Ví dụ: click vào System Devices, đúp chuột trái vào Processor Support (hoặc click vào và chọn Properties) sau đó vào tab Driver, chọn Driver File Details… ở đây sẽ có danh sách các file mà Windows sử dụng cùng đường dẫn của nó, ví dụ có 2 dòng: C:\Windows\System32\Driver\update.sys; C:\windows\system\vmm32.vxd (ntkern.vxd) . Dòng đầu tiên ta không để ý, tuy nhiên dòng thứ hai làm tác giả Liêu Chí Hùng cho rằng các file trong dấu ngoặc đơn chính là các file thiếu trong Windows hoặc do lỗi cài đặt mà không có (trong ví dụ trên là không có file ntkern.vxd), và sau đó bổ xung các file này vào thì thấy không còn dấu ngoặc nữa, dòng thứ hai trở thành: C:\windows\system\ntkern.vxd, và tác giả cho rằng đã sửa chữa được vấn đề.
Hai tác giả Trần Anh Khôi và Đỗ Thành Kiên đã chỉ ra rằng làm như vậy sẽ không bắt Windows nạp đúng file, đã dùng DrWatson (một ứng dụng cũ 16 bit, cách vào: Chọn Run trong Start, gõ: drwatson) để chứng minh. Khi chạy Dr. Watson, ta thấy một biểu tượng nhỏ trong khay đồng hồ, chuột phải vào đó chọn Options, trong khung View, tích vào ô: Open new windows in Ađvance view, click vào OK. Sau đó ta lại chuột phải vào biểu tượng Dr. Watson, chọn Dr. Watson chọn tab Kernel Drivers. Phần Driver bên trái là các file cần nạp, phần Likely Path là đường dẫn các file đó được nạp. Ở đây ta thấy đa số các file đều nạp ở vmm32.vxd. Để bắt Windows nạp đúng, đồng tác giả đã bổ xung các file VXD vào Windows\System và sửa trong Registry như sau: mở trình soạn thảo registry, chọn: HKEY_LOCAL_MACHINE\System\Current ControlSet\Sevices\VxD. Xin trích nguyên văn đoạn này như sau:
“Xem xét tất cả các nhánh trong
VxD. Những nhánh nào có Name là “StaticVXD” thì hãy để ý chuỗi ký tự trong mục
Data giữa hai dấu “ “. Đó chính là file .vxd bị Windows vô hiệu hoá do lỗi khi
cài đặt. Nếu có ký tự “*” thì hãy xoá nó đi và thêm vào đuôi chuỗi “.vxd”.
…
Bạn sẽ tìm thêm được rất nhiều file .vxd để bổ xung vào thư mục C:\ Windows\System.”
Sau khi làm xong điều này, bạn khởi động lại máy, trong quá trình khởi động Windows sẽ thông báo vài lỗi nếu bạn sửa như trên mà không bổ xung những file đã sửa trong registry. Như vậy điều này làm Windows không sử dụng file vxd tổng hợp là vmm32.vxd nữa mà sẽ nạp đúng theo từng file này. Nếu bạn thử làm điều này trên nhiều máy có cấu hình phần cứng khá nhau thì bạn thấy có máy gây lỗi hoặc có thể không Ví dụ với máy tính của tôi dùng CDRoom Acer 40X, nếu cứ ép Windows dùng file: VCDFSD.VXD thì CDRoom sẽ không truy xuất được đĩa.
Như vậy ta thấy rằng: trong quá trình cài đặt, Windows sẽ tự detect phần cứng và tích hợp các file .vxd vào file vmm32.vxd, việc này nhằm tránh phải nạp rất nhiều file .vxd mỗi khi Windows khởi động. Bởi một HDH nhằm cho rất nhiều máy tính có cấu hình phần cứng khác nhau sử dụng, nên các file .vxd cần dùng cho từng máy là khác nhau, nếu ta bổ xung tất cả các file .vxd trong bộ cài (210 file trong bộ cài chuẩn) không những là việc làm thừa mà còn thêm tốn đĩa.
Nhiều bạn mới mua máy tính DNA có
cài sẵn Windows mà chưa cài lại hoàn toàn lần nào thì có thể hay xuất hiện lỗi.
Lý do là các cửa hàng bán máy cho bạn thường không cài đặt Windows cùng tất cả
các chương trình, ứng dụng khác (Office, ACAD…) trên chính máy bạn, mà lại cài
trên một máy khác ở một ổ cứng khác, sau đó copy vật lý sang ổ cứng của bạn
(dùng Norton Ghost dễ dàng trong vài chục phút có thể thay thế việc cài đặt mấy
giờ) sau đó để Windows tự detect và có thể sử dụng được ngay. Điều này làm cho
máy bạn có hàng đống driver dư thừa, các file .vxd không đúng phần cứng nên việc
trục trặc là hiển nhiên.
Như vậy theo tôi, ta không thể nói rằng Windows có lỗi khi cài đặt là cài thiếu
các file .vxd. Việc bổ xung thêm các file .vxd có thể là không cần thiết với một
máy tính có phần cứng đầy đủ driver mới nhất.
Trương Mạnh An - Đại học Bách
Khoa Hà nội.
----------------------------------------------------
(Có thể sử dụng bài viết cho mọi mục đích về học tập, chỉ được phép sửa đổi, bổ
xung bài viết cho đúng thêm hoặc có thể cắt đi những nội dung rườm rà - nên mail
cho tác giả tại antm75@yahoo.com , không được gây nhiễm virus vào file có chứa
bài viết này để truyền bá – xin giữ lại dòng này trong trường hợp truyền bá dưới
dạng file)
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com