• 12

windows7 重大bug...

Stallings wrote:
那個黑底白字可以下指...(恕刪)

一句話點破一堆人的不專業

good!

haha
dannyzz0 wrote:
一句話點破一堆人的不...(恕刪)


我不是IT人員,也不是資訊本科,所以不專業再也正常不過了,mobile01也沒規定必須專業人員才能po文章吧

所以講錯話也不用羞恥阿,互相吐槽求進步嘛,常到mobile01逛逛可以增長知識喔

剛才搜尋到在XP盡然也可以模擬純DOS,是DOS喔,不是XP的命令提示字元喔





嘿嘿...方法如下

1、尋找CONFIG.NT
Windows 2000預設是放在 \WinNT\system32\下
Windows XP預設是放在 \Windows\system32\下

2、使用筆記本開啟CONFIG.NT,並尋找內容有一行文字如下:
REM DOSONLY
將“REM”字樣刪除後存檔

3、在桌面上按滑鼠右鍵,新增一個捷徑,在“輸入項目的位置”欄位中
輸入“command”按下一步,“輸入這個捷徑的名稱”欄位中會自動
出現“MS-DOS 命令提示字元”,便可按完成


另外有人說scandisk 是dos指令,這也不對,scandisk 是 Win 95 / 98 / ME 的程式

以上有錯請指正
Stallings wrote:
我強烈的懷疑這個程式只是一個前端,而事實上還是呼叫 chkdsk 去做的
...(恕刪)

XP這個磁碟工具,我想本來就只是和 chkdsk的功能相同

若要檢查已讀取到記憶體而被系統佔用的C槽,則必須重新開機後才會做磁碟檢查。

但現在都民國幾年了!
XP既然有圖型介面磁碟工具,用滑鼠點一點就可執行,幹嘛鍵盤key得那麼累....
除非是進不了XP畫面,才會被逼得要下Dos命令。

我過去也用過Dos指令,現在偶爾用SSH登入網路還是要用UNIX指令
因為網站主機用大量圖型介面操作,就會耗用主機的RAM和HD,
是為了要省錢才要用UNIX指令,被逼的!
雖然我打字不慢,但若SSH有圖型介面,用滑鼠點一點就好,我也一樣懶得輸入命令。
業代殺手,斷人財路!
小仲827 wrote:
我不是IT人員,也不...(恕刪)

我也不是呀

不過從wiki也會知道

ms-dos與Command Prompt(cmd)不同

不是說這裡人沒有專業就不能發言

只是有些人擺著很專業知識,但是常常會說錯的答案

在m01常可見到
Stallings wrote:
那個黑底白字可以下指令的視窗,不要再稱呼他 DOS 了XD
除了長得像以外,他跟 DOS 毫無關聯XD
他叫做命令提示字元,你也可以叫他文字模式、Console
而 CMD 所提供的指令就稱呼為指令或命令就好,他們也不是所謂的 DOS 指令
..(恕刪)


視窗的作業是不叫DOS了
但不是視窗OS運作和以前的DOS完全無關
視窗開機時,其實一開始就像DOS一樣,還是一項項把OS舖設好....(並不是多工模式)

以前的DOS命令是目前OS內部命令的子集
因為現在的CPU又新加了很多組合語言的指令

XP在硬體出現錯誤時,會出現純文字模式的藍底白字的畫面
其實那跟以前DOS時期的硬體溢位產生的岔斷是一樣的

VISTA,Win7不管系統結構,程式庫怎麼改
在系統底層的呼叫服務,還是像以前DOS的INT 21H,只是服務的函式可能多了好幾倍

CMD簡稱叫DOS模式,只是易懂方便
說他是模擬也不完全是
不然WINDOWS下不會還有一些取名和DOS時代相同的外部命令
如果純模擬,應該不必這麼大費周張
視窗作業系統應該自己也在使用它
(如:ATTRIB.EXE,MEM.EXE,CHKDSK.EXE..)

七夕傍晚東豐鐵橋望落日
hl805hsp wrote:
不然WINDOWS下不會還有一些取名和DOS時代相同的外部命令
如果純模擬,應該不必這麼大費周張
視窗作業系統應該自己也在使用它...(恕刪)

用了很多版本的Windows
但是還是覺得Windows的核心還是和Dos一樣
以前Win31就像Dos穿外套
後來的98更是離不開Dos
win2000以後雖有NTFS的新檔案系統
但感覺還是用Dos的模式
先起動磁碟作業系統(就是Dos)控制個人電腦之後
再趨動一些網卡及其他相關硬體的功能
之後就會越來越龐大記憶體越吃越多效能越來越差
如果安裝一個更新趨動程式就會要求重新起動OS
Linux感覺就不一樣
小小的一個核心一起動就具備網路功能
再來是其他的硬體趨動就像是手腳一樣
一個一個用掛載方式掛上去的
不要用再把它拿下來就好
不會有Windows裝個趨動程式就要重新起動OS
winyi wrote:
用了很多版本的Win...(恕刪)

使用Windows7更新驅動程式,並沒有要求重新啟動哦
hl805hsp wrote:
視窗的作業是不叫DO...(恕刪)
命令提示字元所提供的環境只是一個子系統,子系統是架構在主系統上的
Windows 底層的環境 (或說開機時的環境) 和命令提示字元所提供的環境完全不同,勿混為一談
說命令提示字元跟 DOS 完全無關並沒有錯
另外,Windows 底層也一樣跟 DOS 完全無關
我並沒有說 Windows 底層不可以使用 INT 或 BIOS 的服務
但是並非使用到這些服務的就一定是 DOS 或統稱 DOS,請搞清楚

整個 Windows 唯一跟 DOS 有關的只有 command.com 這個程式
但這支程式可不是用來開機的,他跟 CMD.exe 一樣都是用來提供子系統,讓 16-bit 文字模式程式可以執行

※本文所指的 Windows 都是指 NT 家族:2000、XP、Vista、7 等,而非老舊的 9x 家族



Windows 所提供的文字介面工具都是重新寫過的,不是拿 DOS 裡的可執行檔來用
Stallings wrote:
Windows 底層也一樣跟 DOS 完全無關...(恕刪)

但是在XP的cmd模式下打mem /c
就可以看到DOS的影子
一樣的High memory
一樣的640K限制住效能
最後一行
MS-DOS resident in High Memory Area
應該還是說明著XP還是和DOS一樣靠記憶體趨動程式打通任督二脈使用1M以上的記憶體
winyi wrote:
但是在XP的cmd模式下打mem /c
就可以看到DOS的影子
一樣的High memory
一樣的640K限制住效能
最後一行
MS-DOS resident in High Memory Area
應該還是說明著XP還是和DOS一樣靠記憶體趨動程式打通任督二脈使用1M以上的記憶體

先說明一下 command.com 的機轉
command.com 是為 16-bit 文字模式程式 (或稱 DOS based 程式) 提供環境
command.com 啟動時,ntvdm.exe 會先行啟動,以建立一個虛擬機器
接著 command.com 會去讀取 config.nt 和 autoexec.nt
最後 command.com 本身就緒
似曾相識?沒錯,跟遠古時代的真實 DOS 的開機流程極為相似
ntvdm.exe -> 電腦
config.nt -> config.sys
autoexec.nt -> autoexec.bat
至於記憶體,Windows 會割一小塊記憶體給這個虛擬機器玩

回正題
mem.exe 是一個 DOS based 程式
當使用者執行* 他時,command.com 要提供環境於是啟動,而 ntvdm.exe 也要建立虛擬機器也跟著啟動
於是你透過 mem 所看到的**,其實是這個小型機器的運作情形,而非 Windows 的

* 可透過「執行」下指令,或者直接點選 mem.exe 皆可 #


** 節錄部分內容:

Name Size in Decimal Size in Hex
------------- --------------------- -------------
MSDOS 12032 ( 11.8K) 2F00
KBD 3360 ( 3.3K) D20
HIMEM 1248 ( 1.2K) 4E0
MOUSE 13120 ( 12.8K) 3340
COMMAND 4032 ( 3.9K) FC0
MSCDEXNT 352 ( 0.3K) 160
REDIR 2176 ( 2.1K) 880
DOSX 34832 ( 34.0K) 8810
FREE 112 ( 0.1K) 70
FREE 1232 ( 1.2K) 4D0
FREE 582576 (568.9K) 8E3B0

我們把 autoexec.nt 裡的 MSCDEXNT 和 DOSX 的載入命令 remark 起來,然後再執行一次 mem /c,
可看到 mem 的報告忠實的反映出剛剛的變更

autoexec.nt 的部分內容:(粗體為手動加入的)

@echo off

REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment.
REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a
REM different startup file is specified in an application's PIF.

REM Install CD ROM extensions
REM lh %SystemRoot%\system32\mscdexnt.exe

REM Install network redirector (load before dosx.exe)
lh %SystemRoot%\system32\redir

REM Install DPMI support
REM lh %SystemRoot%\system32\dosx

REM The following line enables Sound Blaster 2.0 support on NTVDM.
REM 以下略

執行 mem /c > 2.txt

2.txt 的部分內容:注意到 MSCDEXNT 和 DOSX 不見了

Name Size in Decimal Size in Hex
------------- --------------------- -------------
MSDOS 12032 ( 11.8K) 2F00
KBD 3360 ( 3.3K) D20
HIMEM 1248 ( 1.2K) 4E0
MOUSE 13120 ( 12.8K) 3340
COMMAND 4032 ( 3.9K) FC0
REDIR 2176 ( 2.1K) 880
FREE 112 ( 0.1K) 70
FREE 1216 ( 1.2K) 4C0
FREE 617824 (603.3K) 96D60

# 前面的示範,執行 mem 時都是故意透過「執行」來下指令,這是刻意和 CMD 脫鉤
事實上在 CMD 下指令也是可以的
但注意,此時 mem 一樣是在 ntvdm 所提供的虛擬機器裡執行,而非在 CMD 所提供的子系統
mem 所報告的內容,一樣是這台小機器的運作情況而非 Windows 的
我們可以打趣的說,command 的環境是假的,CMD 提供的才是真的
所謂真的,意思是說,CMD 可以實際的操控 Windows 這個主系統,跟透過圖形介面的結果一模一樣,只差他不顯示視窗而已

結論:美麗的錯誤。
  • 12
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 12)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?