當前位置:首頁 » 服務存儲 » 如何將參數存儲在指定扇區
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何將參數存儲在指定扇區

發布時間: 2022-04-28 17:35:27

『壹』 如何在不用軟體的情況下直接向硬碟的扇區里寫數據

那是不可能的,最基本的你也要用DEBUG來寫,這個屬於DOS的內部 命令,所能系統上都帶,這個雖然只是個命令,也相當於軟體不是?主板BIOS是最底層的命令,就是把你所有軟體產生的指令變成電腦能理解的代碼去執行,你所有的操作實際上都是用軟體來調用這些指令,就象自行車一樣,你不去蹬怎麼會跑呢?用手直接去轉?那行,你直接找塊磁鐵,打開硬碟,用他吸就行了

『貳』 硬碟如何實現信息的存儲

一塊小小的硬碟,儲存的信息幾乎可以相當於全世界圖書館的總和,是怎麼做到的?

雖然硬碟在我們生活中已經隨處可見,但他的儲存方法和原理,卻不是每人都了解的。

想像一架飛機以離地面1毫米的高度飛行,每25秒繞地球一圈,還能覆蓋每一寸表面。

再將其縮小成手掌大小,你就會得到和現代硬碟差不多的東西,它所包含的信息比你們當地圖書館還要多。

那麼它是如何在這么小的空間 儲存這么多的信息呢?

多虧了一代又一代工程師,材料科學家,還有量子物理學家們的共同努力,這個擁有不可思議的能量, 無比精確的小工具才能在你手掌中旋轉。

歡迎關注微信公眾號infoVision,更多精彩科普動畫等著你!

『叄』 在linux下如何把程序寫入指定的硬碟扇區

用dd命令即可。

『肆』 怎樣向U盤固定的物理地址或扇區寫入數據

你可以用磁碟編輯工具打開相應扇區,然後寫入數據

『伍』 硬碟是如何存儲數據的

硬碟數據存儲原理

硬碟是一種採用磁介質的數據存儲設備,數據存儲在密封於潔凈的硬碟驅動器內腔的若干個磁碟片上。這些碟片一般是在以鋁為主要成分的片基表面塗上磁性介質所形成,在磁碟片的每一面上,以轉動軸為軸心、以一定的磁密度為間隔的若干個同心圓就被劃分成磁軌(track),每個磁軌又被劃分為若干個扇區(sector),數據就按扇區存放在硬碟上。在每一面上都相應地有一個讀寫磁頭(head),所以不同磁頭的所有相同位置的磁軌就構成了所謂的柱面(cylinder)。傳統的硬碟讀寫都是以柱面、磁頭、扇區為定址方式的(CHS定址)。硬碟在上電後保持高速旋轉(5400轉/min以上),位於磁頭臂上的磁頭懸浮在磁碟表面,可以通過步進電機在不同柱面之間移動,對不同的柱面進行讀寫。所以在上電期間如果硬碟受到劇烈振盪,磁碟表面就容易被劃傷,磁頭也容易損壞,這都將給盤上存儲的數據帶來災難性的後果。

硬碟的第一個扇區(0道0頭1扇區)被保留為主引導扇區。在主引導區內主要有兩項內容:主引導記錄和硬碟分區表。主引導記錄是一段程序代碼,其作用主要是對硬碟上安裝的操作系統進行引導;硬碟分區表則存儲了硬碟的分區信息。計算機啟動時將讀取該扇區的數據,並對其合法性進行判斷(扇區最後兩個位元組是否為0x55AA或0xAA55 ),如合法則跳轉執行該扇區的第一條指令。所以硬碟的主引導區常常成為病毒攻擊的對象,從而被篡改甚至被破壞。可引導標志:0x80為可引導分區類型標志;0表示未知;1為FAT12;4為FAT16;5為擴展分區等等。

硬碟信息與硬碟數據恢復

在計算機的CMOS中也存儲了硬碟的信息,主要有硬碟類型、容量、柱面數、磁頭數、每道扇區數、定址方式等內容,對硬碟參數加以說明,以便計算機正確訪問硬碟。當CMOS因故掉電或發生錯誤時,硬碟設置可能會丟失或錯誤,硬碟訪問也就無法正確進行。這種情況我們就必須重新設置硬碟參數,如果事先已記下硬碟參數或者有某些防病毒軟體事先備份的CMOS信息,只需手工恢復即可;否則也可使用BIOS設置(setup)中的「自動檢測硬碟類型」(HD type auto detection)的功能,一般也能得到正確的結果。
硬碟故障大體上可以分為軟故障和硬故障兩大類,具體有硬碟操作系統被損壞、硬碟主引導區被破壞、 FAT表表被破壞、CMOS硬碟參數不正確、硬碟控制器與硬碟驅動器未能正常連接、硬碟驅動器或硬碟控制器硬體故障、主板故障等情況。比如:
開機自檢過程中,屏幕提示「Hard disk drive failure」或類似信息,則可以判斷為硬碟驅動器或硬碟控制器(提示「Hard drive controller failure」)硬體故障。
開機自檢過程中,屏幕提示「Hard disk not present」或類似信息,則可能是CMOS硬碟參數設置錯誤或硬碟控制器與硬碟驅動器連接不正確。
開機自檢過程中,屏幕提示「Missing operating system」、「Non OS」 、「Non system disk or disk error,replace disk and press a key to reboot」等類似信息,則可能是硬碟主引導區分區表被破壞、操作系統未正確安裝或者CMOS硬碟參數設置錯誤等。
開機用軟盤啟動後無法進入C盤,可能是分區表被破壞,硬碟數據恢復是可以的。

『陸』 能把數據轉移到其他扇區么

HD Tune的親們可以啊。錯誤掃描掃出壞道的時候,它已經上市了啊的物理位置。每個分區有多少你可以檢查我的電腦好了,剩下的就是沒有做作的減法。

『柒』 c++裡面函數的參數在內存中是怎麼存儲的

就如你問題中提到的,當函數int MAX(int x,int y)被賦予實參時,如下面代碼所示

intmain()
{
inta=3,b=4;
MAX(3,4);
return0;
}

此時函數MAX接收到的是a和b的拷貝值,也就是說函數在堆裡面開辟一個空間,這個空間保存著兩個值,分別是3和4,函數接下來操作的數值都是這個堆空間上的數值,跟main函數裡面的a和b無關,當函數執行完畢時(也就是return執行完)會回收空間,這時堆空間裡面的3和4就會被處理掉

『捌』 關於 絕對磁碟扇區讀、寫數據

absread()寫磁碟絕對扇區函數

原形:int absread(int drive,int num,int sectnum,void *buf)

drive=0(A驅動器)、1(B驅動器)、

num=要寫的扇區數(最多64K個);

sectnumt=起始邏輯扇區號;

buf=要讀取數據的內存起始地址。

功能:從drive指定的驅動器磁碟上,sectnum指定的邏輯扇區號開始讀取(通過DOS中斷0x25讀取)num個(最多64K個)扇區的內容,儲存於buf所指的緩沖區中。

參數:drive=0對應A盤,drive=1對應B盤。

返回值:0:成功;-1:失敗。

頭文件:dos.h

abswrite()寫磁碟絕對扇區函數

原形:int abswrite(int drive,int nsects,int lsect,void *buffer)

drive=0(A驅動器)、1(B驅動器)、

nsects=要寫的扇區數(最多64K個);

lsect=起始邏輯扇區號;

buffer=要寫入數據的內存起始地址。

功能:將指定內容寫入(調用DOS中斷0x26)磁碟上的指定扇區,即使寫入的地方是磁碟的邏輯結構、文件、FAT表和目錄結構所在的扇區,也照常進行。

返回值:0:成功;-1:失敗。

頭文件:dos.h

用absread讀出的數據是二進制形式的,其內容就是原本在磁碟中存儲的數據的副本,至於表示什麼,就依賴於原先存儲的格式及數據的內容了.
abswrite函數將內存中指定的數據寫入磁碟的特定位置,其內容也是二進制形式的,如果想再找到寫入內容,當然可以用absread在原位置讀出.
舉一個簡單的例子,比方說C盤主引導區受損,則可用軟盤或光碟啟動系統,利用abswrite將主引導區的備份重新寫入,覆蓋逐級損的部分,即可達到手工修復的目的.

函數名: absread, abswirte
功 能: 絕對磁碟扇區讀、寫數據
用 法: int absread(int drive, int nsects, int sectno, void *buffer);
int abswrite(int drive, int nsects, in tsectno, void *buffer);

程序例:
/* absread example */
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <dos.h>
int main(void)
{
int i, strt, ch_out, sector;
char buf[512];
printf("Insert a diskette into drive A and press any key\n");
getch();
sector = 0;
if (absread(0, 1, sector, &buf) != 0)
{
perror("Disk problem");
exit(1);
}
printf("Read OK\n");
strt = 3;
for (i=0; i<80; i++)
{
ch_out = buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);

『玖』 硬碟上的資料具體是怎樣存儲在扇區里的存入數據的扇區和沒有存入數據的扇區有什麼區別

例如:

該報文,或之後有一個文本的每一行之間的空白,如果騰出大量的留白的空間填充回後的文本。

磁碟碎片整理程序「的原理是

『拾』 怎麼通過程序獲取磁碟指定扇區的數據

(1)先用函數
CreateFile
獲取硬碟的句柄
h;
(2)然後用函數
DeviceIoControl
得到硬碟扇區大小;
(3)之後用函數
SetFilePointerEx
將硬碟的文件指針移動到要讀取的位置;
(4)最後用
ReadFile
讀取數據。
第二步是必要的,因為對硬碟的ReadFile/WriteFile/SetFilePointer等操作,必須讀/寫/將指針移動扇區大小的整數倍