用户手册
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 231 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 234 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 267 KiB After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 43 KiB |
|
@ -4,7 +4,7 @@ Kylin Backup and Recovery Tool is used to backup and restore system or user data
|
||||||
|
|
||||||
It supports to create new backup points, and incremental backup based on a backup point; as well as restore the system to the state at the time of a backup, and partial restore retaining user data.
|
It supports to create new backup points, and incremental backup based on a backup point; as well as restore the system to the state at the time of a backup, and partial restore retaining user data.
|
||||||
|
|
||||||
There are three modes: General, Grub backup and restore, LiveCD restore.
|
There are two modes: General, Grub backup and restore.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -14,79 +14,106 @@ There are three modes: General, Grub backup and restore, LiveCD restore.
|
||||||
![Fig 1-a system backup -big](image/1-a.png)
|
![Fig 1-a system backup -big](image/1-a.png)
|
||||||
|
|
||||||
|
|
||||||
- **New System Backup** -- Backup the whole system except the backup partition and the data partition.
|
- **New System Backup** -- The data that not in /backup、/media、/run、/proc、/dev、/sys、/cdrom、/mnt, etc , can be backup.
|
||||||
|
|
||||||
After selecting "New System Backup", click "Backup" and there will pop up a box allowing users to specify backup device those need to be ignored during backup, as shown in Fig 2.
|
Click "Start Backup" Button will enter the page select backup location, you can choose to backup to local or mobile device. As shown in figure 2.
|
||||||
|
|
||||||
![Fig 2 system backup device choose -big](image/2.png)
|
![Fig 2 system backup device choose -big](image/2.png)
|
||||||
|
|
||||||
After clicking "Ok" to backup, the system will chech whether the backup partition has enough space for this operation. If no, it will pop up an
|
Click "Next" button to enter the environment checking page. Inspection, such as backup space is enough, etc . And show check results. See 3-1,3-2.
|
||||||
error reporting window; Conversely, it will pop up prompt in turn, as shown in Fig 3.
|
|
||||||
|
|
||||||
![Fig 3-1 Backup prompt-big](image/3-1.png)
|
![Fig 3-1 Checking -big](image/3-1.png)
|
||||||
|
|
||||||
![Fig 3-2 Backup prompt-big](image/3-2.png)
|
![Fig 3-2 Check Result -big](image/3-2.png)
|
||||||
|
|
||||||
Click "Continue" to create a new backup in the backup partition. During backup, there will show a window as shown in Fig 4. The length of backup time depends on the size of backup contents.
|
Click "Next" button to enter the backup preparing page. You can define the backup name in it. As shown in figure 4.
|
||||||
|
|
||||||
![Fig 4 Backup now -big](image/4.png)
|
![Fig 4 Preparing -big](image/4.png)
|
||||||
|
|
||||||
The button "Backup Management" near "Backup" is used to view the state of system backups and delete invalid backups.
|
Then click "Next" button to backup. As shown in figure 5.
|
||||||
|
|
||||||
![Fig 5 Backup Management-big](image/5.png)
|
![Fig 5 Backuping -big](image/5.png)
|
||||||
|
|
||||||
- **Update System Backup** -- Continue backup based on a existed backup.
|
The backup process can click "cancel" button, cancel the backup operation.
|
||||||
|
Backup is completed, enter the backup finish page, show result. As shown in figure 5-1.
|
||||||
|
|
||||||
After selecting this function, there will pop up a window to show all backups. Users can choose one from them.
|
![Fig 5-1 Backup Finish -big](image/5-1.png)
|
||||||
|
|
||||||
Incremental backup can be performed on the basis of a failed backup.
|
Click the "Home Page" button, click "Backup Management >>" tab, pop-up window of system backup management, you can see the backup just in it. As shown in figure 5-2.
|
||||||
|
|
||||||
|
![Fig 5-2 Backup Management -big](image/5-2.png)
|
||||||
|
|
||||||
|
In the backup management page, select a backup, click the "Delete" button, remove the corresponding backup point.
|
||||||
|
|
||||||
### System Restore
|
### System Restore
|
||||||
System restore can restore the system to its previous backup state.
|
System restore can restore the system to its previous backup state.
|
||||||
|
|
||||||
![Fig 6-a system restore -big](image/6-a.png)
|
![Fig 6-a system restore -big](image/6-a.png)
|
||||||
|
|
||||||
|
Click "Start Restore" button, the system backups list window will pop up. As shown in figure 6-b.
|
||||||
|
|
||||||
|
![Fig 6-b select backup -big](image/6-b.png)
|
||||||
|
|
||||||
|
Select the corresponding backup point, click the "Ok" button, enter the system restore environmental checking page. As shown in figure 6-c.
|
||||||
|
|
||||||
|
![Fig 6-c checking -big](image/6-c.png)
|
||||||
|
|
||||||
|
Checking success, then click the "Next" button to enter the page of restore, to start the system restore. As shown in figure 6-d.
|
||||||
|
|
||||||
|
![Fig 6-d select backup -big](image/6-d.png)
|
||||||
|
|
||||||
### Data Backup and Data Recovery
|
### Data Backup and Data Recovery
|
||||||
- **Data Backup** -- Backup the directories or files specified by user, and the function is similar to system backup.
|
- **Data Backup** -- Backup the directories or files specified by user, and the function is similar to system backup.
|
||||||
|
|
||||||
![Fig 8 Data backup-big](image/8.png)
|
![Fig 7 Data backup-big](image/7.png)
|
||||||
|
|
||||||
After selecting "New Data Backup", click "Backup" and there will pop up a box allowing users to specify directories or files those need to be backuped. As shown in Fig 9, it will backup the contents in /home/kylin/.
|
Click "Start Backup" and enter the backup path selection page. As shown in figure 8.
|
||||||
|
|
||||||
![Fig 9 Specify directories or files -big](image/9.png)
|
![Fig 8 Specify directories or files -big](image/8.png)
|
||||||
|
|
||||||
The button "Backup Management" near "Backup" is used to view the state of data backups and delete invalid backups.
|
Or click "Update Backup" button, pop up data backup list window. As shown in figure 9.
|
||||||
|
|
||||||
- **Update Data Backup** -- Add new data to a existed data backup.
|
![Fig 9 data backup list -big](image/9.png)
|
||||||
|
|
||||||
|
Then, click "Next" button, enter backup checking page --> backup preparing --> backuping --> backup finished. Such as system backup.
|
||||||
|
|
||||||
|
|
||||||
|
- **Update Data Backup** -- On the basis of a data backup, update the backup data.
|
||||||
|
|
||||||
- **Data Recovery** -- Recovery the data to its previous backup state, and the function is similar to system restore.
|
- **Data Recovery** -- Recovery the data to its previous backup state, and the function is similar to system restore.
|
||||||
|
|
||||||
![Fig 10 Data recovery-big](image/10.png)
|
![Fig 10 Data recovery-big](image/10.png)
|
||||||
|
|
||||||
The system will restart automatically after recovery is complete.
|
|
||||||
|
|
||||||
### Log Records
|
### Log Records
|
||||||
Record all operations on backup and recovery tool, and the interface as shown in Fig 11. Turn pages by clicking "Up" and "Next" button.
|
Record all operations on backup and recovery tool, and the interface as shown in Fig 11.
|
||||||
|
|
||||||
![Fig 11 Log records-big](image/11.png)
|
![Fig 11 Log records-big](image/11.png)
|
||||||
|
|
||||||
### Ghost Image
|
### Ghost Image
|
||||||
Install from ghost image means generate an image file from an installed system, and then use this image file to copy the same state system to other computers. To use this function, a backup is needed first.
|
Install from ghost image means generate an image file from an installed system, and then use this image file to copy the same state system to other computers. To use this function, a lacol system backup is needed first.
|
||||||
|
|
||||||
#### Create Ghost Image
|
#### Create Ghost Image
|
||||||
The interface as shown in Fig 12, including some tips.
|
The interface as shown in Fig 12.
|
||||||
|
|
||||||
![Fig 12 Ghost image-big](image/12.png)
|
![Fig 12 Ghost image-big](image/12.png)
|
||||||
|
|
||||||
Click "Ghost" and there will pop up a window to show all backups. Users select one of them and click "Ok" to start creating, as shown in Fig 13.
|
Click "Start Ghost" and there will pop up a window to show all local system backups. Users select one of them and click "Ok" button, into the image storage location selection interface, can choose a local or mobile device, as shown in Fig 13-1.
|
||||||
|
|
||||||
(Tips: The architecture in name depends on hardware platform.)
|
(Tips: The architecture in name depends on hardware platform.)
|
||||||
|
|
||||||
![Fig 13-1 Ghost image select and create-big](image/13-1.png)
|
![Fig 13-1 Ghost image position -big](image/13-1.png)
|
||||||
|
|
||||||
![Fig 13-2 Ghost image select and create-big](image/13-2.png)
|
Then click "Next" button, enter checking page. As shown in figure 13-2.
|
||||||
|
|
||||||
Image filename is "computer name + architecture + backup name.kyimg", and only numbers in the backup name are retained.
|
![Fig 13-2 Ghost image checking -big](image/13-2.png)
|
||||||
|
|
||||||
|
If success, then click "Next" button, enter makeing page. As shown in figure 13-3.
|
||||||
|
|
||||||
|
![Fig 13-3 Ghost image makeing -big](image/13-3.png)
|
||||||
|
|
||||||
|
Image filename is "computer name + architecture + backup name.kyimg", and the backup name removed some symbol. As shown in figure 13-4.
|
||||||
|
|
||||||
|
![Fig 13-3 Ghost image finished -big](image/13-3.png)
|
||||||
|
|
||||||
#### Install from Ghost Image
|
#### Install from Ghost Image
|
||||||
1) Copy the ghost image (saved in /ghost) to U-disk or other removable storage device.
|
1) Copy the ghost image (saved in /ghost) to U-disk or other removable storage device.
|
||||||
|
@ -99,12 +126,10 @@ sudo mount /dev/sdb1 /mnt
|
||||||
|
|
||||||
Removable device is /dev/sdb1 by general, and it can be seen by command "fdisk -l".
|
Removable device is /dev/sdb1 by general, and it can be seen by command "fdisk -l".
|
||||||
|
|
||||||
4) Double click the install button to start installation guide. Select "Install from ghost image" in Installation Type, and find the ghost image in the removable device, as shown in Fig 14. The follow-up steps can refer to installation manual.
|
4) Double click the install button to start installation guide. Select "Install from ghost image" in Installation Type, and find the ghost image in the removable device. The follow-up steps can refer to installation manual.
|
||||||
|
|
||||||
(Tips: The architecture in name depends on hardware platform.)
|
(Tips: The architecture in name depends on hardware platform.)
|
||||||
|
|
||||||
![Fig 14 Ghost install-big](image/14.png)
|
|
||||||
|
|
||||||
If there exists data partition when creating ghost image file, it needs to check "Create Data Partition" in the next step.
|
If there exists data partition when creating ghost image file, it needs to check "Create Data Partition" in the next step.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
@ -125,24 +150,12 @@ For backup mode, is smilar to "Whole Disk Backup" in general mode. If there is n
|
||||||
|
|
||||||
For restore mode, is smilar to "Disk Restore" in general mode. If there is no successful backup, the system will not be restored.
|
For restore mode, is smilar to "Disk Restore" in general mode. If there is no successful backup, the system will not be restored.
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## LiveCD Restore
|
|
||||||
Enter livecd system and click Start Menu to open the application, as shown in Fig 15.
|
|
||||||
|
|
||||||
![Fig 15 Interface in LiveCD-big](image/15.png)
|
|
||||||
|
|
||||||
System restore an log records can refer to the function in general mode.
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## Q&A
|
## Q&A
|
||||||
### Can not use backup and recovery tool
|
### Can not use backup and recovery tool
|
||||||
In order to use this tool, "Create Backup Partition" must be checked when install system.
|
In order to use this tool, "Create Backup Partition" must be checked when install system.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
### Backup data/backup partition is allowed?
|
### There is insufficient space on the backup partition
|
||||||
The contents in data partition are not important to system and have a large capacity, so it's not necessary to backup /data.
|
Backup partition (/ backup) size is fixed installation system, should not be too big commonly, as system usage gradually increase, will cause storage is not enough.At this point can be backup to a mobile device, but backup speed will slow down.
|
||||||
|
Recommended for system only a die erste installation backup to the backup partition, at the back of the backup system use mobile device. Of the more important data into a directory, backup in data backup function.
|
||||||
Backup partition is used to save and recovery other partitions data, so /backup is not allowed to be backuped or restored.
|
|
||||||
|
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 281 KiB |
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 56 KiB |
|
@ -1,8 +1,8 @@
|
||||||
# 备份还原
|
# 备份还原
|
||||||
## 概 述
|
## 概 述
|
||||||
备份还原用于对系统或用户数据进行备份和还原。该工具支持新建备份点,也支持在某个备份点上进行增量备份;支持将系统还原到某次备份时的状态,或者在保留某些数据的情况下进行部分还原。
|
备份还原用于对系统或用户数据进行备份和还原。该工具支持新建备份点,也支持在某个备份点上进行增量备份;支持将系统还原到某次备份时的状态,或者在保留用户数据的情况下进行还原。
|
||||||
|
|
||||||
备份还原有3种模式:常规模式、Grub备份还原、LiveCD还原。
|
备份还原有2种模式:常规模式、Grub备份还原。
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -12,77 +12,105 @@
|
||||||
![图 1-a 系统备份-big](image/1-a.png)
|
![图 1-a 系统备份-big](image/1-a.png)
|
||||||
|
|
||||||
|
|
||||||
- **新建系统备份** —— 将除备份还原分区、数据分区外的整个系统进行备份。
|
- **系统备份** —— 将除/backup、/media、/run、/proc、/dev、/sys、/cdrom、/mnt等目录外的整个文件系统中的数据进行备份。
|
||||||
|
|
||||||
选择新建后,点击 “开始备份” ,会弹出一个对话框,供用户指定设备进行系统备份,如图2所示。
|
单击 “开始备份”按钮,进入选择备份位置页面,可以选择备份到本地或移动设备。如图2所示。
|
||||||
|
|
||||||
![图 2 系统备份设备选择 -big](image/2.png)
|
![图 2 系统备份位置选择 -big](image/2.png)
|
||||||
|
|
||||||
当确定进入备份时,系统查找备份还原分区是否有足够的空间来进行本次备份。若没有足够空间,则会有报错弹窗;若有足够空间,则会依次给出提示。
|
单击“下一步”按钮,进入环境检测界面。检测诸如备份空间是否充足等,检测完成会展示检测结果。见3-1、3-2两图。
|
||||||
|
|
||||||
![图 3-1 备份提示-big](image/3-1.png)
|
![图 3-1 环境检测-big](image/3-1.png)
|
||||||
![图 3-2 备份提示-big](image/3-2.png)
|
![图 3-2 检测通过-big](image/3-2.png)
|
||||||
|
|
||||||
按“继续”按钮,则会在备份还原分区上新建一个备份。在备份过程中,会有如下所示的提示框。备份时间长短与备份内容大小有关。
|
单击“下一步”按钮,进入备份准备界面。在此界面可以定义备份点名称,并对备份名称进行唯一性校验。如图4所示。
|
||||||
|
|
||||||
![图 4 正在备份 -big](image/4.png)
|
![图 4 备份准备 -big](image/4.png)
|
||||||
|
|
||||||
系统备份标签页中“开始备份”旁边的“备份管理”,可用来查看系统备份状态,删除无效备份。
|
定义好备份名称后,单击“下一步”按钮,进入备份中界面,正式进行备份。如图5所示。
|
||||||
|
|
||||||
![图 5 系统备份管理-big](image/5.png)
|
![图 5 系统备份中-big](image/5.png)
|
||||||
|
|
||||||
- **系统增量备份** —— 在一个已有备份的基础上,继续进行备份。
|
备份过程中可以单击“取消”按钮,取消备份操作。
|
||||||
|
备份完成后,进入备份完成界面,展示备份结果。如图5-1所示。
|
||||||
|
|
||||||
当选择增量备份后,会弹出一个列出了所有备份的对话框,供用户选择。
|
![图 5-1 系统备份完成-big](image/5-1.png)
|
||||||
|
|
||||||
可以在失败的备份基础上进行增量备份。
|
单击“返回首页”按钮,单击首页的右下角的“备份管理”标签,弹出系统备份管理窗口,可以看到刚刚的系统备份。如图5-2所示。
|
||||||
|
|
||||||
|
![图 5-2 系统备份管理-big](image/5-2.png)
|
||||||
|
|
||||||
|
可以在备份管理页面,选择某个备份点,单击“删除”按钮,删除相应的备份点。
|
||||||
|
|
||||||
### 系统还原
|
### 系统还原
|
||||||
“系统还原” 可将系统还原到以前一个备份时的状态。
|
“系统还原” 可将系统还原到以前一个备份时的状态。可以保留用户数据还原。
|
||||||
|
|
||||||
![图 6-a 系统还原-big](image/6-a.png)
|
![图 6-a 系统还原-big](image/6-a.png)
|
||||||
|
|
||||||
|
单击“开始还原”按钮,会弹出系统备份列表窗口,如图6-b所示。
|
||||||
|
|
||||||
点击“一键还原”,会弹出一个对话框,供用户指定在还原过程中需要忽略的分区、目录或文件,如图7所示。还原成功后,系统会自动重启。
|
![图 6-b 选择还原点-big](image/6-b.png)
|
||||||
|
|
||||||
|
选择相应的备份点,单击“确定”按钮,进入系统还原的环境检测界面。如图6-c所示。
|
||||||
|
|
||||||
|
![图 6-c 系统还原环境检测-big](image/6-c.png)
|
||||||
|
|
||||||
|
检测成功后,单击“下一步”按钮,进入还原页面,开始进行系统还原。如图6-d所示。
|
||||||
|
|
||||||
|
![图 6-d 系统还原中-big](image/6-d.png)
|
||||||
|
|
||||||
|
还原成功后,系统自动重启。
|
||||||
|
|
||||||
### 数据备份与数据还原
|
### 数据备份与数据还原
|
||||||
- **数据备份** —— 对用户指定的目录或文件进行备份,功能与系统备份相似。
|
- **数据备份** —— 对用户指定的目录或文件进行备份(限定为家目录/home/xxx、/root、/data或/data/usershare目录下的数据),操作与系统备份相似。可以新建备份,也可以对现有备份进行更新。如图7所示。
|
||||||
|
|
||||||
![图 8 数据备份主界面-big](image/8.png)
|
![图 7 数据备份主界面-big](image/7.png)
|
||||||
|
|
||||||
选择“新建数据备份”后,点击“开始备份”,会弹出一个对话框,供用户指定需要备份的目录或文件,如图9所示,会对 /home/kylin/ 目录中的内容进行备份。
|
单击“开始备份”按钮,进入备份路径选择页面。如图8所示。
|
||||||
|
|
||||||
![图 9 指定数据备份目录 -big](image/9.png)
|
![图 8 数据备份路径选择-big](image/8.png)
|
||||||
|
|
||||||
“开始备份”旁边的“备份管理”,可用来查看数据备份状态,删除无效备份。
|
或单击“备份更新”按钮,弹出数据备份列表窗口,选择已经存在的某个备份点进行更新。如图9所示。
|
||||||
|
|
||||||
- **数据增量备份** —— 在某个数据备份的基础上,增加需要备份的数据。
|
![图 9 更新数据备份 -big](image/9.png)
|
||||||
|
|
||||||
|
选择好备份路径后,单击“下一步”按钮,进入环境检测-->备份准备-->备份中-->备份完成等环节,和系统备份类似。
|
||||||
|
数据备份首页右下角的“备份管理”,可用来查看数据备份状态,删除无效备份。
|
||||||
|
|
||||||
|
- **数据增量备份** —— 在某个数据备份的基础上,更新备份点的数据。
|
||||||
|
|
||||||
- **数据还原** —— 还原到某个数据备份的状态,功能与系统还原相似。
|
- **数据还原** —— 还原到某个数据备份的状态,功能与系统还原相似。
|
||||||
|
|
||||||
![图 10 数据还原主界面-big](image/10.png)
|
![图 10 数据还原主界面-big](image/10.png)
|
||||||
|
|
||||||
完成还原后,系统会自动重启。
|
|
||||||
|
|
||||||
### 操作日志
|
### 操作日志
|
||||||
记录了在备份还原上的所有操作,主界面如图所示。可通过“上一页” 、“下一页”按钮进行翻页查看。
|
记录了在备份还原上的所有备份、还原、删除操作,主界面如图11所示。
|
||||||
|
|
||||||
![图 11 操作日志主界面-big](image/11.png)
|
![图 11 操作日志主界面-big](image/11.png)
|
||||||
|
|
||||||
### Ghost镜像
|
### Ghost镜像
|
||||||
Ghost镜像安装,是指将一台机器上的系统生成一个镜像文件,然后使用该镜像文件来安装操作系统。要使用该功能,首先需要有一个备份。
|
Ghost镜像安装,是指将一台机器上的系统生成一个镜像文件,然后使用该镜像文件来安装操作系统。要使用该功能,首先需要有一个本地系统备份。
|
||||||
|
|
||||||
#### 创建Ghost镜像
|
#### 创建Ghost镜像
|
||||||
选择菜单“Ghost镜像”,如图12所示。
|
选择菜单“Ghost镜像”,如图12所示。
|
||||||
|
|
||||||
![图 12 Ghost镜像主界面-big](image/12.png)
|
![图 12 Ghost镜像主界面-big](image/12.png)
|
||||||
|
|
||||||
点击“一键Ghost”后,会弹出当前所有备份的列表;用户选择一个备份,点击“确定”后,开始制作Ghost镜像。镜像文件名的格式为“主机名+体系架构+备份名称.kyimg”;其中,备份名称只保留了数字。
|
单击“创建镜像”按钮后,会弹出当前所有本地系统备份的列表;用户选择一个备份点,点击“确定”后,进入镜像存储位置选择界面,可以选择本地或移动设备,如图13-1所示。
|
||||||
|
|
||||||
如图13所示。
|
![图 13-1 Ghost镜像存储位置-big](image/13-1.png)
|
||||||
|
|
||||||
![图 13-1 Ghost镜像选择制作-big](image/13-1.png)
|
单击“下一步”按钮,进入环境检测页面,如图13-2所示。
|
||||||
![图 13-2 Ghost镜像选择制作-big](image/13-2.png)
|
|
||||||
|
![图 13-2 制作镜像环境检测-big](image/13-2.png)
|
||||||
|
|
||||||
|
检测成功后,单击“下一步”按钮,进入制作中界面,开始制作Ghost镜像。如图13-3所示。
|
||||||
|
|
||||||
|
![图 13-3 镜像制作中-big](image/13-3.png)
|
||||||
|
|
||||||
|
镜像文件名的格式为“主机名+体系架构+备份名称.kyimg”;其中,备份名称中去掉了某些符号。制作完成后,进入完成界面。如图13-4所示。
|
||||||
|
|
||||||
|
![图 13-4 Ghost镜像制作完成-big](image/13-4.png)
|
||||||
|
|
||||||
#### 安装Ghost镜像
|
#### 安装Ghost镜像
|
||||||
1)把制作好的Ghost镜像(存在于“/ghost”目录下)拷贝到U盘等可移动存储设备。
|
1)把制作好的Ghost镜像(存在于“/ghost”目录下)拷贝到U盘等可移动存储设备。
|
||||||
|
@ -97,9 +125,7 @@ Ghost镜像安装,是指将一台机器上的系统生成一个镜像文件,
|
||||||
|
|
||||||
4)双击安装图标,开始安装引导。在“安装方式”中选择“从Ghost镜像安装”,并找到移动设备中的Ghost镜像文件。后续步骤可参考“系统安装”部分。
|
4)双击安装图标,开始安装引导。在“安装方式”中选择“从Ghost镜像安装”,并找到移动设备中的Ghost镜像文件。后续步骤可参考“系统安装”部分。
|
||||||
|
|
||||||
![图 14 Ghost安装-big](image/14.png)
|
Tips:如果制作镜像文件时带有数据分区,则在下一步“安装类型”中也要创建“数据分区”。
|
||||||
|
|
||||||
Tips:如果制作镜像文件时带有数据盘,则在下一步“安装类型”中也要勾选“创建数据盘”。
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -108,20 +134,11 @@ Tips:如果制作镜像文件时带有数据盘,则在下一步“安装类
|
||||||
|
|
||||||
2)备份模式:系统立即开始备份,屏幕上会给出提示。
|
2)备份模式:系统立即开始备份,屏幕上会给出提示。
|
||||||
|
|
||||||
对于备份模式而言,等同于常规模式下的“新建系统备份”。如果备份还原分区没有足够空间,则无法成功备份。
|
对于备份模式而言,等同于常规模式下的“系统备份”。如果备份还原分区没有足够空间,则无法成功备份。
|
||||||
|
|
||||||
3)还原模式:系统立即开始还原到最近一次的成功备份状态,屏幕上会给出提示。
|
3)还原模式:系统立即开始还原到最近一次的成功备份状态,屏幕上会给出提示。
|
||||||
|
|
||||||
对于还原模式而言,等同于常规模式下的“一键还原”。如果备份还原分区上没有一个成功的备份,则系统不能被还原。
|
对于还原模式而言,等同于常规模式下的“系统还原”。如果备份还原分区上没有一个成功的备份,则系统不能被还原。
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## LiveCD还原
|
|
||||||
通过系统启动盘进入操作系统后,从开始菜单打开麒麟备份还原,主界面如图15所示。
|
|
||||||
|
|
||||||
![图 15 LiveCD还原主界面-big](image/15.png)
|
|
||||||
|
|
||||||
系统还原和操作日志可参考常规模式下的对应功能。
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -129,7 +146,6 @@ Tips:如果制作镜像文件时带有数据盘,则在下一步“安装类
|
||||||
### 无法使用备份还原
|
### 无法使用备份还原
|
||||||
在安装操作系统时,必须要选中“创建备份还原分区”,备份还原才能使用。
|
在安装操作系统时,必须要选中“创建备份还原分区”,备份还原才能使用。
|
||||||
|
|
||||||
### 可以对data分区和backup分区进行备份吗?
|
### 备份分区空间不足
|
||||||
数据分区(/data)保存的内容与系统关系不大,且通常容量很大,因此不建议对数据分区进行备份和还原。
|
备份分区(/backup)大小是安装系统时固定的,一般也不会太大,随着系统的使用量逐渐增大,会造成备份空间不足无法进行备份的情况。此时可以备份到移动设备上,不过备份速度会变慢。
|
||||||
|
建议系统只进行一个初装备份到备份分区,后面的系统备份都备份到移动设备上。比较重要的数据统一放到某个目录中,用数据备份功能进行备份。
|
||||||
备份还原分区(/backup)用于保存和恢复其他分区的数据,故此分区的数据不允许备份或还原。
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ void MyIconButton::changePalette(bool checked)
|
||||||
{
|
{
|
||||||
m_iconButton->setChecked(checked);
|
m_iconButton->setChecked(checked);
|
||||||
QPalette pal = m_textLabel->palette();
|
QPalette pal = m_textLabel->palette();
|
||||||
// svg格式的图标会自动跟随主题,不需再手动设置像素颜色
|
// png格式的图标会自动跟随主题,不需再手动设置像素颜色
|
||||||
// QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
// QIcon icon = QIcon::fromTheme(m_themeIconName, QIcon(m_defaultIconName));
|
||||||
// QPixmap pix;
|
// QPixmap pix;
|
||||||
if (g_GSettingWrapper.isDarkTheme()) {
|
if (g_GSettingWrapper.isDarkTheme()) {
|
||||||
|
|
|
@ -38,7 +38,7 @@ void MyIconLabel::setThemeIcon(const QString &themeIconName, const QString &defa
|
||||||
m_defaultIconName = defaultIconName;
|
m_defaultIconName = defaultIconName;
|
||||||
|
|
||||||
QIcon icon = QIcon::fromTheme(themeIconName, QIcon(defaultIconName));
|
QIcon icon = QIcon::fromTheme(themeIconName, QIcon(defaultIconName));
|
||||||
m_iconLabel->setPixmap(icon.pixmap(QSize(24,24)));
|
m_iconLabel->setPixmap(icon.pixmap(icon.actualSize(QSize(24, 24))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyIconLabel::setDesplayText(const QString &text)
|
void MyIconLabel::setDesplayText(const QString &text)
|
||||||
|
|
|
@ -158,8 +158,14 @@ void DataBackup::initFirstWidget()
|
||||||
|
|
||||||
// 增量备份按钮
|
// 增量备份按钮
|
||||||
MyPushButton *incrementBackup = new MyPushButton(first);
|
MyPushButton *incrementBackup = new MyPushButton(first);
|
||||||
incrementBackup->setGeometry(241, 372, 180, 52);
|
// incrementBackup->setGeometry(241, 372, 180, 52);
|
||||||
|
incrementBackup->setFixedHeight(52);
|
||||||
|
incrementBackup->move(241, 372);
|
||||||
incrementBackup->setText(tr("Update Backup"));
|
incrementBackup->setText(tr("Update Backup"));
|
||||||
|
if (incrementBackup->text() == "Update Backup")
|
||||||
|
incrementBackup->setFixedWidth(220);
|
||||||
|
else
|
||||||
|
incrementBackup->setFixedWidth(180);
|
||||||
incrementBackup->setEnabled(true);
|
incrementBackup->setEnabled(true);
|
||||||
incrementBackup->setAutoRepeat(true);
|
incrementBackup->setAutoRepeat(true);
|
||||||
font.setPixelSize(24);
|
font.setPixelSize(24);
|
||||||
|
@ -320,7 +326,8 @@ void DataBackup::initSecondWidget()
|
||||||
hlayoutLine4->addSpacing(30);
|
hlayoutLine4->addSpacing(30);
|
||||||
// 所选备份路径编辑框
|
// 所选备份路径编辑框
|
||||||
QLineEdit *editSelect = new QLineEdit;
|
QLineEdit *editSelect = new QLineEdit;
|
||||||
editSelect->setFixedSize(480, 36);
|
editSelect->setMinimumWidth(460);
|
||||||
|
editSelect->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
editSelect->setMaxLength(255);
|
editSelect->setMaxLength(255);
|
||||||
// 删除按钮
|
// 删除按钮
|
||||||
QPushButton *buttonDelete = new QPushButton;
|
QPushButton *buttonDelete = new QPushButton;
|
||||||
|
@ -334,11 +341,10 @@ void DataBackup::initSecondWidget()
|
||||||
});
|
});
|
||||||
// 添加按钮
|
// 添加按钮
|
||||||
MyPushButton *buttonAdd = new MyPushButton;
|
MyPushButton *buttonAdd = new MyPushButton;
|
||||||
buttonAdd->setFixedSize(70, 36);
|
buttonAdd->setFixedWidth(70);
|
||||||
buttonAdd->setText(tr("Add"));
|
buttonAdd->setText(tr("Add"));
|
||||||
// 选择按钮
|
// 选择按钮
|
||||||
MyPushButton *buttonSelect = new MyPushButton;
|
MyPushButton *buttonSelect = new MyPushButton;
|
||||||
buttonSelect->setFixedSize(70, 36);
|
|
||||||
buttonSelect->setText(tr("Select"));
|
buttonSelect->setText(tr("Select"));
|
||||||
hlayoutLine4->addWidget(editSelect);
|
hlayoutLine4->addWidget(editSelect);
|
||||||
hlayoutLine4->addWidget(buttonDelete);
|
hlayoutLine4->addWidget(buttonDelete);
|
||||||
|
@ -358,7 +364,8 @@ void DataBackup::initSecondWidget()
|
||||||
|
|
||||||
// 备份列表
|
// 备份列表
|
||||||
BackupListWidget *listWidget = new BackupListWidget;
|
BackupListWidget *listWidget = new BackupListWidget;
|
||||||
listWidget->setFixedSize(680, 240);
|
listWidget->setMinimumSize(680, 240);
|
||||||
|
listWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
listWidget->setPathLimit(pathLimits);
|
listWidget->setPathLimit(pathLimits);
|
||||||
hlayoutLine5->addWidget(listWidget);
|
hlayoutLine5->addWidget(listWidget);
|
||||||
hlayoutLine5->addStretch();
|
hlayoutLine5->addStretch();
|
||||||
|
@ -396,7 +403,6 @@ void DataBackup::initSecondWidget()
|
||||||
hlayoutLastLine->addStretch();
|
hlayoutLastLine->addStretch();
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(second);
|
MyPushButton *preStep = new MyPushButton(second);
|
||||||
preStep->setGeometry(271, 176, 97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -406,7 +412,6 @@ void DataBackup::initSecondWidget()
|
||||||
});
|
});
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(second);
|
MyPushButton *nextStep = new MyPushButton(second);
|
||||||
nextStep->setGeometry(389, 176, 97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -537,7 +542,8 @@ void DataBackup::initSecondWidget_inc()
|
||||||
hlayoutLine4->addSpacing(30);
|
hlayoutLine4->addSpacing(30);
|
||||||
// 所选备份路径编辑框
|
// 所选备份路径编辑框
|
||||||
QLineEdit *editSelect = new QLineEdit;
|
QLineEdit *editSelect = new QLineEdit;
|
||||||
editSelect->setFixedSize(480, 36);
|
editSelect->setMinimumWidth(460);
|
||||||
|
editSelect->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
editSelect->setMaxLength(255);
|
editSelect->setMaxLength(255);
|
||||||
// 删除按钮
|
// 删除按钮
|
||||||
QPushButton *buttonDelete = new QPushButton;
|
QPushButton *buttonDelete = new QPushButton;
|
||||||
|
@ -555,7 +561,6 @@ void DataBackup::initSecondWidget_inc()
|
||||||
buttonAdd->setText(tr("Add"));
|
buttonAdd->setText(tr("Add"));
|
||||||
// 选择按钮
|
// 选择按钮
|
||||||
MyPushButton *buttonSelect = new MyPushButton;
|
MyPushButton *buttonSelect = new MyPushButton;
|
||||||
buttonSelect->setFixedSize(70, 36);
|
|
||||||
buttonSelect->setText(tr("Select"));
|
buttonSelect->setText(tr("Select"));
|
||||||
hlayoutLine4->addWidget(editSelect);
|
hlayoutLine4->addWidget(editSelect);
|
||||||
hlayoutLine4->addWidget(buttonDelete);
|
hlayoutLine4->addWidget(buttonDelete);
|
||||||
|
@ -574,7 +579,8 @@ void DataBackup::initSecondWidget_inc()
|
||||||
getPathsLimit(pathLimits, siderUrls);
|
getPathsLimit(pathLimits, siderUrls);
|
||||||
// 备份列表
|
// 备份列表
|
||||||
BackupListWidget *listWidget = new BackupListWidget;
|
BackupListWidget *listWidget = new BackupListWidget;
|
||||||
listWidget->setFixedSize(680, 240);
|
listWidget->setMinimumSize(680, 240);
|
||||||
|
listWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
listWidget->setPathLimit(pathLimits);
|
listWidget->setPathLimit(pathLimits);
|
||||||
hlayoutLine5->addWidget(listWidget);
|
hlayoutLine5->addWidget(listWidget);
|
||||||
hlayoutLine5->addStretch();
|
hlayoutLine5->addStretch();
|
||||||
|
@ -618,7 +624,6 @@ void DataBackup::initSecondWidget_inc()
|
||||||
hlayoutLastLine->addStretch();
|
hlayoutLastLine->addStretch();
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(second);
|
MyPushButton *preStep = new MyPushButton(second);
|
||||||
preStep->setGeometry(271, 176, 97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -628,7 +633,6 @@ void DataBackup::initSecondWidget_inc()
|
||||||
});
|
});
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(second);
|
MyPushButton *nextStep = new MyPushButton(second);
|
||||||
nextStep->setGeometry(389, 176, 97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -785,7 +789,6 @@ void DataBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(centerFont);
|
MyPushButton *preStep = new MyPushButton(centerFont);
|
||||||
preStep->setFixedSize(97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -799,7 +802,6 @@ void DataBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(centerFont);
|
MyPushButton *nextStep = new MyPushButton(centerFont);
|
||||||
nextStep->setFixedSize(97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -810,7 +812,6 @@ void DataBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addWidget(nextStep);
|
hlayoutCenterFont5->addWidget(nextStep);
|
||||||
// 重新检测按钮
|
// 重新检测按钮
|
||||||
MyPushButton *recheck = new MyPushButton(centerFont);
|
MyPushButton *recheck = new MyPushButton(centerFont);
|
||||||
recheck->setFixedSize(97, 36);
|
|
||||||
recheck->setText(tr("Recheck"));
|
recheck->setText(tr("Recheck"));
|
||||||
recheck->setEnabled(true);
|
recheck->setEnabled(true);
|
||||||
recheck->setAutoRepeat(true);
|
recheck->setAutoRepeat(true);
|
||||||
|
@ -1270,7 +1271,6 @@ void DataBackup::initFifthWidget()
|
||||||
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
MyPushButton *cancel = new MyPushButton(fifth);
|
MyPushButton *cancel = new MyPushButton(fifth);
|
||||||
cancel->setFixedSize(97, 36);
|
|
||||||
cancel->setText(tr("Cancel"));
|
cancel->setText(tr("Cancel"));
|
||||||
cancel->setAutoRepeat(true);
|
cancel->setAutoRepeat(true);
|
||||||
hlayoutCenterFont3->addStretch();
|
hlayoutCenterFont3->addStretch();
|
||||||
|
@ -1564,7 +1564,6 @@ void DataBackup::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 返回首页
|
// 返回首页
|
||||||
MyPushButton *homePage = new MyPushButton(centerFont);
|
MyPushButton *homePage = new MyPushButton(centerFont);
|
||||||
homePage->setFixedSize(97, 36);
|
|
||||||
homePage->setText(tr("Home Page"));
|
homePage->setText(tr("Home Page"));
|
||||||
homePage->setEnabled(true);
|
homePage->setEnabled(true);
|
||||||
homePage->setAutoRepeat(true);
|
homePage->setAutoRepeat(true);
|
||||||
|
@ -1572,7 +1571,6 @@ void DataBackup::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 再试一次
|
// 再试一次
|
||||||
MyPushButton *retry = new MyPushButton(centerFont);
|
MyPushButton *retry = new MyPushButton(centerFont);
|
||||||
retry->setFixedSize(97, 36);
|
|
||||||
retry->setText(tr("Retry"));
|
retry->setText(tr("Retry"));
|
||||||
retry->setEnabled(true);
|
retry->setEnabled(true);
|
||||||
retry->setAutoRepeat(true);
|
retry->setAutoRepeat(true);
|
||||||
|
|
|
@ -336,7 +336,6 @@ void DataRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(centerFont);
|
MyPushButton *preStep = new MyPushButton(centerFont);
|
||||||
preStep->setFixedSize(97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -345,7 +344,6 @@ void DataRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(centerFont);
|
MyPushButton *nextStep = new MyPushButton(centerFont);
|
||||||
nextStep->setFixedSize(97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -356,7 +354,6 @@ void DataRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addWidget(nextStep);
|
hlayoutCenterFont5->addWidget(nextStep);
|
||||||
// 重新检测按钮
|
// 重新检测按钮
|
||||||
MyPushButton *recheck = new MyPushButton(centerFont);
|
MyPushButton *recheck = new MyPushButton(centerFont);
|
||||||
recheck->setFixedSize(97, 36);
|
|
||||||
recheck->setText(tr("Recheck"));
|
recheck->setText(tr("Recheck"));
|
||||||
recheck->setEnabled(true);
|
recheck->setEnabled(true);
|
||||||
recheck->setAutoRepeat(true);
|
recheck->setAutoRepeat(true);
|
||||||
|
@ -891,7 +888,6 @@ void DataRestore::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 返回首页
|
// 返回首页
|
||||||
MyPushButton *homePage = new MyPushButton(centerFont);
|
MyPushButton *homePage = new MyPushButton(centerFont);
|
||||||
homePage->setFixedSize(97, 36);
|
|
||||||
homePage->setText(tr("Home Page"));
|
homePage->setText(tr("Home Page"));
|
||||||
homePage->setEnabled(true);
|
homePage->setEnabled(true);
|
||||||
homePage->setAutoRepeat(true);
|
homePage->setAutoRepeat(true);
|
||||||
|
@ -899,14 +895,12 @@ void DataRestore::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 再试一次
|
// 再试一次
|
||||||
MyPushButton *retry = new MyPushButton(centerFont);
|
MyPushButton *retry = new MyPushButton(centerFont);
|
||||||
retry->setFixedSize(97, 36);
|
|
||||||
retry->setText(tr("Retry"));
|
retry->setText(tr("Retry"));
|
||||||
retry->setEnabled(true);
|
retry->setEnabled(true);
|
||||||
retry->setAutoRepeat(true);
|
retry->setAutoRepeat(true);
|
||||||
hlayoutCenterFont5->addWidget(retry);
|
hlayoutCenterFont5->addWidget(retry);
|
||||||
// 重启
|
// 重启
|
||||||
MyPushButton *reboot = new MyPushButton(centerFont);
|
MyPushButton *reboot = new MyPushButton(centerFont);
|
||||||
reboot->setFixedSize(97, 36);
|
|
||||||
reboot->setText(tr("Reboot System"));
|
reboot->setText(tr("Reboot System"));
|
||||||
reboot->setEnabled(true);
|
reboot->setEnabled(true);
|
||||||
reboot->setAutoRepeat(true);
|
reboot->setAutoRepeat(true);
|
||||||
|
|
|
@ -374,7 +374,6 @@ void GhostImage::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(centerFont);
|
MyPushButton *preStep = new MyPushButton(centerFont);
|
||||||
preStep->setFixedSize(97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -383,7 +382,6 @@ void GhostImage::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(centerFont);
|
MyPushButton *nextStep = new MyPushButton(centerFont);
|
||||||
nextStep->setFixedSize(97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -394,7 +392,6 @@ void GhostImage::initThirdWidget()
|
||||||
hlayoutCenterFont5->addWidget(nextStep);
|
hlayoutCenterFont5->addWidget(nextStep);
|
||||||
// 重新检测按钮
|
// 重新检测按钮
|
||||||
MyPushButton *recheck = new MyPushButton(centerFont);
|
MyPushButton *recheck = new MyPushButton(centerFont);
|
||||||
recheck->setFixedSize(97, 36);
|
|
||||||
recheck->setText(tr("Recheck"));
|
recheck->setText(tr("Recheck"));
|
||||||
recheck->setEnabled(true);
|
recheck->setEnabled(true);
|
||||||
recheck->setAutoRepeat(true);
|
recheck->setAutoRepeat(true);
|
||||||
|
@ -731,7 +728,6 @@ void GhostImage::initForthWidget()
|
||||||
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
MyPushButton *cancel = new MyPushButton(forth);
|
MyPushButton *cancel = new MyPushButton(forth);
|
||||||
cancel->setFixedSize(97, 36);
|
|
||||||
cancel->setText(tr("Cancel"));
|
cancel->setText(tr("Cancel"));
|
||||||
cancel->setEnabled(true);
|
cancel->setEnabled(true);
|
||||||
cancel->setAutoRepeat(true);
|
cancel->setAutoRepeat(true);
|
||||||
|
@ -1063,7 +1059,6 @@ void GhostImage::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 返回首页
|
// 返回首页
|
||||||
MyPushButton *homePage = new MyPushButton(centerFont);
|
MyPushButton *homePage = new MyPushButton(centerFont);
|
||||||
homePage->setFixedSize(97, 36);
|
|
||||||
homePage->setText(tr("Home Page"));
|
homePage->setText(tr("Home Page"));
|
||||||
homePage->setEnabled(true);
|
homePage->setEnabled(true);
|
||||||
homePage->setAutoRepeat(true);
|
homePage->setAutoRepeat(true);
|
||||||
|
@ -1071,7 +1066,6 @@ void GhostImage::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 再试一次
|
// 再试一次
|
||||||
MyPushButton *retry = new MyPushButton(centerFont);
|
MyPushButton *retry = new MyPushButton(centerFont);
|
||||||
retry->setFixedSize(97, 36);
|
|
||||||
retry->setText(tr("Retry"));
|
retry->setText(tr("Retry"));
|
||||||
retry->setEnabled(true);
|
retry->setEnabled(true);
|
||||||
retry->setAutoRepeat(true);
|
retry->setAutoRepeat(true);
|
||||||
|
|
|
@ -378,7 +378,6 @@ void SystemBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(centerFont);
|
MyPushButton *preStep = new MyPushButton(centerFont);
|
||||||
preStep->setFixedSize(97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -387,7 +386,6 @@ void SystemBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(centerFont);
|
MyPushButton *nextStep = new MyPushButton(centerFont);
|
||||||
nextStep->setFixedSize(97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -398,7 +396,6 @@ void SystemBackup::initThirdWidget()
|
||||||
hlayoutCenterFont5->addWidget(nextStep);
|
hlayoutCenterFont5->addWidget(nextStep);
|
||||||
// 重新检测按钮
|
// 重新检测按钮
|
||||||
MyPushButton *recheck = new MyPushButton(centerFont);
|
MyPushButton *recheck = new MyPushButton(centerFont);
|
||||||
recheck->setFixedSize(97, 36);
|
|
||||||
recheck->setText(tr("Recheck"));
|
recheck->setText(tr("Recheck"));
|
||||||
recheck->setEnabled(true);
|
recheck->setEnabled(true);
|
||||||
recheck->setAutoRepeat(true);
|
recheck->setAutoRepeat(true);
|
||||||
|
@ -874,7 +871,6 @@ void SystemBackup::initFifthWidget()
|
||||||
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
QHBoxLayout *hlayoutCenterFont3 = new QHBoxLayout;
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
MyPushButton *cancel = new MyPushButton(fifth);
|
MyPushButton *cancel = new MyPushButton(fifth);
|
||||||
cancel->setFixedSize(97, 36);
|
|
||||||
cancel->setText(tr("Cancel"));
|
cancel->setText(tr("Cancel"));
|
||||||
cancel->setAutoRepeat(true);
|
cancel->setAutoRepeat(true);
|
||||||
hlayoutCenterFont3->addStretch();
|
hlayoutCenterFont3->addStretch();
|
||||||
|
@ -1205,7 +1201,6 @@ void SystemBackup::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 返回首页
|
// 返回首页
|
||||||
MyPushButton *homePage = new MyPushButton(centerFont);
|
MyPushButton *homePage = new MyPushButton(centerFont);
|
||||||
homePage->setFixedSize(97, 36);
|
|
||||||
homePage->setText(tr("Home Page"));
|
homePage->setText(tr("Home Page"));
|
||||||
homePage->setEnabled(true);
|
homePage->setEnabled(true);
|
||||||
homePage->setAutoRepeat(true);
|
homePage->setAutoRepeat(true);
|
||||||
|
@ -1213,7 +1208,6 @@ void SystemBackup::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 再试一次
|
// 再试一次
|
||||||
MyPushButton *retry = new MyPushButton(centerFont);
|
MyPushButton *retry = new MyPushButton(centerFont);
|
||||||
retry->setFixedSize(97, 36);
|
|
||||||
retry->setText(tr("Retry"));
|
retry->setText(tr("Retry"));
|
||||||
retry->setEnabled(true);
|
retry->setEnabled(true);
|
||||||
retry->setAutoRepeat(true);
|
retry->setAutoRepeat(true);
|
||||||
|
|
|
@ -354,7 +354,6 @@ void SystemRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 上一步按钮
|
// 上一步按钮
|
||||||
MyPushButton *preStep = new MyPushButton(centerFont);
|
MyPushButton *preStep = new MyPushButton(centerFont);
|
||||||
preStep->setFixedSize(97, 36);
|
|
||||||
preStep->setText(tr("Back"));
|
preStep->setText(tr("Back"));
|
||||||
preStep->setEnabled(true);
|
preStep->setEnabled(true);
|
||||||
preStep->setAutoRepeat(true);
|
preStep->setAutoRepeat(true);
|
||||||
|
@ -363,7 +362,6 @@ void SystemRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 下一步按钮
|
// 下一步按钮
|
||||||
MyPushButton *nextStep = new MyPushButton(centerFont);
|
MyPushButton *nextStep = new MyPushButton(centerFont);
|
||||||
nextStep->setFixedSize(97, 36);
|
|
||||||
nextStep->setText(tr("Next"));
|
nextStep->setText(tr("Next"));
|
||||||
nextStep->setEnabled(true);
|
nextStep->setEnabled(true);
|
||||||
nextStep->setAutoRepeat(true);
|
nextStep->setAutoRepeat(true);
|
||||||
|
@ -374,7 +372,6 @@ void SystemRestore::initSecondWidget()
|
||||||
hlayoutCenterFont5->addWidget(nextStep);
|
hlayoutCenterFont5->addWidget(nextStep);
|
||||||
// 重新检测按钮
|
// 重新检测按钮
|
||||||
MyPushButton *recheck = new MyPushButton(centerFont);
|
MyPushButton *recheck = new MyPushButton(centerFont);
|
||||||
recheck->setFixedSize(97, 36);
|
|
||||||
recheck->setText(tr("Recheck"));
|
recheck->setText(tr("Recheck"));
|
||||||
recheck->setEnabled(true);
|
recheck->setEnabled(true);
|
||||||
recheck->setAutoRepeat(true);
|
recheck->setAutoRepeat(true);
|
||||||
|
@ -918,7 +915,6 @@ void SystemRestore::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(30);
|
hlayoutCenterFont5->addSpacing(30);
|
||||||
// 返回首页
|
// 返回首页
|
||||||
MyPushButton *homePage = new MyPushButton(centerFont);
|
MyPushButton *homePage = new MyPushButton(centerFont);
|
||||||
homePage->setFixedSize(97, 36);
|
|
||||||
homePage->setText(tr("Home Page"));
|
homePage->setText(tr("Home Page"));
|
||||||
homePage->setEnabled(true);
|
homePage->setEnabled(true);
|
||||||
homePage->setAutoRepeat(true);
|
homePage->setAutoRepeat(true);
|
||||||
|
@ -926,7 +922,6 @@ void SystemRestore::initLastWidget()
|
||||||
hlayoutCenterFont5->addSpacing(20);
|
hlayoutCenterFont5->addSpacing(20);
|
||||||
// 再试一次
|
// 再试一次
|
||||||
MyPushButton *retry = new MyPushButton(centerFont);
|
MyPushButton *retry = new MyPushButton(centerFont);
|
||||||
retry->setFixedSize(97, 36);
|
|
||||||
retry->setText(tr("Retry"));
|
retry->setText(tr("Retry"));
|
||||||
retry->setEnabled(true);
|
retry->setEnabled(true);
|
||||||
retry->setAutoRepeat(true);
|
retry->setAutoRepeat(true);
|
||||||
|
|