1. Field of the Invention
The present invention relates to a power on self test (POST) system on a client and a testing method, and more particularly to a system for realizing a remote test on a computer apparatus without a storage device and a testing method thereof.
2. Related Art
As the transmission rate of the network has been continuously increased, the applications of the network are no longer limited to browsing web pages or transmitting data. Someone has proposed to utilize the existing network architecture to construct network computers. A network computer is configured in the client and does not have a storage device, but connects the client to the server over network, and then retrieves the data required for running the client from the server.
A disk that is usually connected to a remote terminal through the network often employs a preboot execution environment (briefly referred to PXE hereinafter). Besides retrieving data from a server to support the booting of the client, the PXE further uses the server to install an operating system or an application on a client. Generally, in order to obtain the remote operation functions described above, the PXE is burned in a flash memory on a network card. Once the client is booted, the PXE connects the client to the server base on an address of a network card of the server received by the client.
First, once the client is booted, a Boot ROM in the network card performs a self test before getting the control authority, and then sends out a request message by broadcasting (Step S110).
Once the server receives the request sent by the client, it returns an acknowledgement message to the client (Step S120). The acknowledgement message includes a default communication channel and a boot image file. The default communication channel is used to confirm the information related to the connection between the client and the server, such as a network protocol or a connection port. The boot image file is a boot system file that is required by the client.
Upon receiving the acknowledgement message sent by the server, the client sends back a response message to inform the server to start transferring the boot image file required by the client for booting (Step S130). The boot image file for supporting the booting of the client begins to be downloaded from the server (Step S140). Once the boot image file is completely received, the client boot-straps the booting of an operating system according to the boot image file (Step S150).
Although the installation or execution of the operating system on a client can be performed remotely through the PXE, the use of the PXE still causes a lot of inconveniences. The disadvantages of the PXE are listed as follows: 1. the network card must support the PXE, otherwise relevant functions cannot be enabled; 2. the PXE has a poor support to the TCP/IP layer, and does not support fiber communication protocols; 3. the PXE requires a user to define the network bootstrap program (NBP) to modify the interrupt vector table by themselves; and 4. the protocol of the PXE is based on network devices, such that it is difficult for the PXE to be used by other types of devices.
In view of the above problems, the present invention is mainly directed to a testing system for an operating system of a virtual client, in which the client is enabled to select a desired operating system image file from a server and use the selected operating system image file to provide an initial processing on an operating system of the client.
In order to achieve the above objective, the present invention provides a system for realizing a remote test on a computer apparatus without a storage device, which includes a server and a client. The server is stored with a plurality of operating system image files. The client is connected to the server through Internet. The client further includes a virtual disk control module, a network storage device, and a network communication module. The virtual disk control module is disposed in an initial memory in the client. The virtual disk control module is used to provide a virtual disk, connect the virtual disk to a remote disk of the server, and order the server to load a selected operating system image file into the remote disk. The network storage device is used to receive a boot image file sent by the server. The network communication module is used to establish a relevant network communication with the server.
From another aspect, the present invention is directed to a method for realizing a remote test on a computer apparatus without a storage device, in which a client is enabled to select a desired operating system image file from a server and use the selected operating system image file to provide an initial processing on an operating system of the client.
In order to achieve the above objective, the present invention provides a testing method for an operating system of a virtual client, which includes initializing a virtual disk in a client, registering the virtual disk to a basic input and output system (BIOS) of the client, connecting to a server over network according to a connection information in the virtual disk, loading a boot information into the client from the server, and performing a boot procedure on the client according to the boot information.
According to an embodiment of the present invention, when the client is booted, the virtual disk is registered to the BIOS of the client, such that the client performs the booting motion from the virtual disk. During the booting process of the client, the client is connected to the remote disk in the server, and invokes a corresponding operating system image file, such that the client may run a corresponding operating system by using the virtual disk. Therefore, the client can perform the POST test without carrying any storage device.
The present invention will become more fully understood from the detailed description given herein below for illustration only, which thus is not limitative of the present invention, and wherein:
The virtual disk control module 211 is configured in the client 200 and used to provide a virtual disk. The virtual disk control module 211 is connected to the remote disk 310 in the server 300 and copies a boot image file in the remote disk 310 into the virtual disk.
The network storage device 212 is used to receive the boot image file sent by the server 300. Once the network storage device 212 finishes the loading of the remote disk 310, the virtual disk registers to the BIOS of the client 200. The registration to the BIOS of the client is the same as that of other storage devices. By means of such a registration motion, the BIOS may determine that the virtual disk is located in the client 200. After the initialization of all of the storage devices has been finished, the BIOS performs the booting motion according to the set disk.
In the present invention, it is set to be booted from the virtual disk provided by the virtual disk control module 211. The network communication module 213 is used to provide a network communication protocol for making communications with the server 300. In this embodiment, the network communication protocol may be, but not limited to, a transmission control protocol (TCP), fibre channel over IP (FCIP), internet small computer system interface (iSCSI), or internet fibre channel protocol (iFCP). The device driving module 214 is used to control a plurality of storage devices of the client 200, in which the storage devices are registers or memories.
In order to clearly illustrate the operation flow among the components of the present invention,
First, a plurality of operating system image files is created in a server (Step S310). The operating system image files may be, but not limited to, Microsoft windows operating system, DOS operating system, or Linux operating system.
A virtual disk is initialized in a client (Step S320). In the present invention, the virtual disk may be set as a virtual floppy drive, virtual optical disc drive, virtual flash memory, or virtual hard drive depending on the operating environment.
The virtual disk is registered to BIOS of the client (Step S330).
The client is connected to the server over network according to connection information in the virtual disk (Step S340). The connection information at least includes an operating system image file selected by the client, a serial number of the client, an IP address, and a network connection port.
Boot information is loaded into the client from the server (Step S350).
Then, it is determined whether a virtual disk exists in the client or not (Step S361).
If a virtual disk exists in the client, the client disconnects a connection with the server (Step S362).
Finally, a boot procedure is performed on the client according to the boot information (Step S370).
According to this embodiment of the present invention, once the client is booted, the virtual disk is registered to the BIOS of the client, such that the client is booted from the virtual disk. During the booting process of the client, the client is connected to the remote disk in the server, and invokes a corresponding operating system image file, such that the client may run a corresponding operating system by using the virtual disk. Therefore, the client can perform the POST test without carrying any storage device.